Problème SetCookie en php (urgent)
Résolu
NoxXx
-
NoxXx -
NoxXx -
Bonjour, alors je dois rendre un site comme projet d'informatique à la fac pour mardi et je suis à la bourre, d'autant plus que j'ai un problème, que je présente de suite:
Voilà, j'ai un problème avec ce code, j'utilise EasyPhp et le message d'erreur est le suivant:
"Warning: Cannot modify header information - headers already sent by (output started at c:\weblocal\sites\site1\connexion\validationidentification.php:1) in c:\weblocal\sites\site1\connexion\validationidentification.php on line 18"
Et voilà le code:
<?php
$tab=file("inscrits.txt");
for($i=0;$i<count($tab);$i++){
$l=explode("/",$tab[$i]);
$pseudo[$i]=$l[0];
$mdp[$i]=$l[1];
$mail[$i]=$l[2];
}
$nbusers=count($tab);
$_SERVER['PHP_AUTH_USER']=$_POST['login'];
$_SERVER['PHP_AUTH_PW']=$_POST['mdp'];
$user=$_SERVER['PHP_AUTH_USER'];
$passw=$_SERVER['PHP_AUTH_PW'];
for($i=0;$i<count($tab);$i++){
if(($user==$pseudo[$i]) && ($passw==$mdp[$i])){
setcookie(
'login',
$user);
echo $pseudo[$i];
echo "<html><body>Identification réussie vous allez maintenant être redirigé !</body></html>";
}
else{
$user=-1;
echo "<html><body>Mot de passe ou login incorrect, pour réessayer, cliquez <a href=\"identification.html\">ici</a></body></html>";
}
}
?>
Voilà, j'ai un problème avec ce code, j'utilise EasyPhp et le message d'erreur est le suivant:
"Warning: Cannot modify header information - headers already sent by (output started at c:\weblocal\sites\site1\connexion\validationidentification.php:1) in c:\weblocal\sites\site1\connexion\validationidentification.php on line 18"
Et voilà le code:
<?php
$tab=file("inscrits.txt");
for($i=0;$i<count($tab);$i++){
$l=explode("/",$tab[$i]);
$pseudo[$i]=$l[0];
$mdp[$i]=$l[1];
$mail[$i]=$l[2];
}
$nbusers=count($tab);
$_SERVER['PHP_AUTH_USER']=$_POST['login'];
$_SERVER['PHP_AUTH_PW']=$_POST['mdp'];
$user=$_SERVER['PHP_AUTH_USER'];
$passw=$_SERVER['PHP_AUTH_PW'];
for($i=0;$i<count($tab);$i++){
if(($user==$pseudo[$i]) && ($passw==$mdp[$i])){
setcookie(
'login',
$user);
echo $pseudo[$i];
echo "<html><body>Identification réussie vous allez maintenant être redirigé !</body></html>";
}
else{
$user=-1;
echo "<html><body>Mot de passe ou login incorrect, pour réessayer, cliquez <a href=\"identification.html\">ici</a></body></html>";
}
}
?>
A voir également:
- Problème SetCookie en php (urgent)
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
2 réponses
Salut,
Le cookie doit etre envoyé avant TOUT code HTML.
Or je pense qu'avant le début de ton code php qui commence par <?php il y a probablement des espaces ou des sauts de lignes ? Ces caractères sont envoyés immédiatement donc en arrivant à setcookie il ne peut plus le gérer.
L'erreur est à la ligne 18 d'après le message et j'en compte 16 pour le setcookie, il y en a donc deux de trop au début que tu n'as pas recopié ?
de plus il dit output started at line 1 c'est donc bien que des caractères de la ligne 1 sont envoyés.
ec
Le cookie doit etre envoyé avant TOUT code HTML.
Or je pense qu'avant le début de ton code php qui commence par <?php il y a probablement des espaces ou des sauts de lignes ? Ces caractères sont envoyés immédiatement donc en arrivant à setcookie il ne peut plus le gérer.
L'erreur est à la ligne 18 d'après le message et j'en compte 16 pour le setcookie, il y en a donc deux de trop au début que tu n'as pas recopié ?
de plus il dit output started at line 1 c'est donc bien que des caractères de la ligne 1 sont envoyés.
ec