J'ai crée une interface d'administration, j'ai donc une page qui demande un login + mot de passe et quand on valide on se retourve sur un script php pour vérifier si les données sont correctes.
Je crée en fait un cookie et si le mot de passe ou le login sont faux je le détruit. Sans ce cookie, mon interface d'administration affichera Accès Interdit sinon elle affiche ce qu'elle doit afficher...
Voici le code du script de vérification :
Code : Tout sélectionner
<? setcookie('admin','toto',time()+3600*24*365);?>
<?php
include('include/base.php');
/*Varialbes sur les informations du client*/
if(isset($_POST['login']) && isset($_POST['password']) && !empty($_POST['login']) && !empty($_POST['password'])){
$login=$_POST['login'];
$pass=$_POST['password'];
/**********************************************/
$resultat=mysql_query("select * from admin where login='".$login."' and password='".$pass."'");
$nbresult=mysql_num_rows($resultat);
if($nbresult==0){
setcookie('admin','toto',0);
echo ("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
echo("<html xmlns=\"http://www.w3.org/1999/xhtml\">");
echo("<head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />");
echo ("<html><body>");
echo "connexion refusée, <a href=\"http://skystef.infoliens.com/test/\">Cliquez-ici</a>";
print"</body></html>";
}
else{
echo ("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
echo("<html xmlns=\"http://www.w3.org/1999/xhtml\">");
echo("<head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />");
echo ("<html><body>");
echo ("<br/><br/><br/><br/><br/><br/><br/><br/><br/>");
echo ("<center><h3><img src=\"images/validation.png\" width=\"96\" height=\"96\">Connexion réussie. <a href=\"http://skyst3f.infoliens.com/n/access.php\">Cliquez-ici</a> pour continuer.</h3>
</center></body></html>");
}
}
?>
Mais là avec mon script j'ai ce message d'erreur quand le login ou le mot de passe (ou les deux ) sont faux :
Mais le cookie existe toujours, je peux donc acceder à mon interface d'administration sans problème!Warning: Cannot modify header information - headers already sent by (output started at /home/skystef/www/ntemp/confirm.php:6) in /home/skystef/www/ntemp/confirm.php on line 27
connexion refusée,
Pouquoi ais-je ce message, je n'affiche pourtant aucunne données avant de détruire le cookie...