Aller au contenu

[Résolu]Fermer une accolade ouverte avec require


mathieu147

Sujets conseillés

Bonjour :)

J'aimerais protéger par mot de passe certaines pages de mon site. Donc j'ai fait un système d'authentification qui met "ok" dans un cookie quand on est identifié (c'est un gros zéro point de vue sécurité, mais je changerai après, chaque chose en son temps ;) ), et je n'ai donc qu'a vérifier le cookie à chaque page protégée. Voici comment je fais:

<?php
//On lit ce qu'il y a dans le cookie «passe»
$isok = $_COOKIE["passe"];

//S'il n'est pas écrit «ok» c'est qu'on n'est pas loggué
if ($isok!="ok")
{
 echo "<p>Cette page est accessible uniquement par les membres. Merci de vous <a href=\"login.php\">authentifier</a></p>";
}
else
{
?>

<p>Contenu protégé</p>

<?php
}
?>

Ca fonctionne bien. Si je ne suis pas loggué, j'ai un lien vers la page de login, et si je le suis, je vois

Contenu protégé

Jusque là, tout va bien...

Seulement, je me dis bien que point de vue maintenance, c'est vraiment pas terrible. Je veux donc utiliser require() pour simplifier les choses. Je crée donc un fichier _protect.php qui contient:

<?php
$isok = $_COOKIE["passe"];

if ($isok!="ok")
{
 echo "<p>Cette page est accessible uniquement par les membres. Merci de vous <a href=\"login.php\">authentifier</a></p>";
}
else
{
?>

et mon fichier pageprotegee.php devient

<?php
require ('_protect.php');
?>

<p>Contenu protégé</p>;

<?php
}
?>

Sauf que ça ne va pas... Si je ne mets pas

<?php
}
?>

à la fin, il me dit qu'il y a un $ en trop à la dernière ligne de _protect.php. Si je le mets, il me dit qu'il y a une accolade fermée de trop dans pageprotegee.php...

J'avoue ne pas trop comprendre. Il doit y avoir une subtilité de require() que je n'ai pas saisie.

Un grand merci pour vos éclaircissements :)

Modifié par mathieu147
Lien vers le commentaire
Partager sur d’autres sites

Salit,

Pas besoin de mettre un if ... else.

Un simple if suffit s'il est terminé par un exit.

Ensuite, le else sera la page courante (celle qui fait l'include()) ;)

Dan

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...