Header()
pontarose
Messages postés
151
Statut
Membre
-
Reivax962 Messages postés 3742 Statut Membre -
Reivax962 Messages postés 3742 Statut Membre -
Bonjour,
J'ai un problème pour utiliser la fonction header() en php.
Je veux qu'on accède a mon formulaire par login et mot de passe.
si les champs login et mot de passe sont remplis,
je cherche le mot de passe correspondant au login entré par l'utilisateur (c'est çà dire que je vérifie si le couple login/mot de passe existe dans ma base de donnée).
si le login ne correspond pas au mot de passe alors j'ecris error login/password et je voudrais retourner vers la page qui me permet d'entrer mon login et mot de passe
si le login existe pas alors j'écris erreur de login et je voudrais a ce moment la retourner vers la page qui me permet d'entrer mon login et mot de passe
En fait au lieu de réafficher mon formulaire j'aimerais utiliser la fonction haeder [je fais header('Location:formulaire.html');]mais probleme j'obtiens la message suivant :
Warning: Cannot modify header information - headers already sent by (output started at /home/xxx/xxx/connection.php:13) in /home/mcorrea/site/verif_login.php on line 91
J'ai un problème pour utiliser la fonction header() en php.
Je veux qu'on accède a mon formulaire par login et mot de passe.
si les champs login et mot de passe sont remplis,
je cherche le mot de passe correspondant au login entré par l'utilisateur (c'est çà dire que je vérifie si le couple login/mot de passe existe dans ma base de donnée).
si le login ne correspond pas au mot de passe alors j'ecris error login/password et je voudrais retourner vers la page qui me permet d'entrer mon login et mot de passe
si le login existe pas alors j'écris erreur de login et je voudrais a ce moment la retourner vers la page qui me permet d'entrer mon login et mot de passe
En fait au lieu de réafficher mon formulaire j'aimerais utiliser la fonction haeder [je fais header('Location:formulaire.html');]mais probleme j'obtiens la message suivant :
Warning: Cannot modify header information - headers already sent by (output started at /home/xxx/xxx/connection.php:13) in /home/mcorrea/site/verif_login.php on line 91
A voir également:
- Header()
- Bad pool header ✓ - Forum Windows
- Your browser sent a request that this server could not understand. size of a request header field exceeds server limit. ✓ - Forum Bureautique
- Rgb header c'est quoi - Forum Carte-mère/mémoire
- 400 bad request request header or cookie too large ✓ - Forum Google Chrome
- Bad request ... - Forum Réseaux sociaux
1 réponse
Bonjour,
Si tu changes de page, pourquoi écrire quelques chose ? Ca ne se verrait pas ;)
Le truc, c'est que la fonction header() modifie l'en-tête de la réponse http. Or cette en-tête doit être la première chose renvoyée au navigateur client (sinon, ce ne serait plus une en-tête, logique non ? :p)
Quand tu fais ton echo "mot de passe invalide"; , tu envoies quelque chose au navigateur. Donc php génère immédiatement l'en-tête http, l'envoie, puis envoie le message. Et, logiquement, quand tu demandes à modifier cette en-tête il te répond qu'elle a déjà été envoyée...
Bref, pour résoudre ton problème, le plus simple serait d'envoyer un paramètre à ta page de formulaire, pour que ce soit elle qui, en reconnaissant ce paramètre, affiche la ligne "mot de passe invalide".
Xavier
Si tu changes de page, pourquoi écrire quelques chose ? Ca ne se verrait pas ;)
Le truc, c'est que la fonction header() modifie l'en-tête de la réponse http. Or cette en-tête doit être la première chose renvoyée au navigateur client (sinon, ce ne serait plus une en-tête, logique non ? :p)
Quand tu fais ton echo "mot de passe invalide"; , tu envoies quelque chose au navigateur. Donc php génère immédiatement l'en-tête http, l'envoie, puis envoie le message. Et, logiquement, quand tu demandes à modifier cette en-tête il te répond qu'elle a déjà été envoyée...
Bref, pour résoudre ton problème, le plus simple serait d'envoyer un paramètre à ta page de formulaire, pour que ce soit elle qui, en reconnaissant ce paramètre, affiche la ligne "mot de passe invalide".
Xavier