redirection vers une page

laetis
Invité n'ayant pas de compte PHPfrance

15 mars 2007, 03:00

salut a tous
j'ai un soucis
voila
j'ai fait une page connexion. html dan laquelle on trouve un formulaire ( login mot de passe) qui est poster vers uen page verif.php qui comme son nom l'indique verifie si mes champs sont remplis et si la nom et le mot de passe correspondent a ceux qui sont presents dans la base
seulement je ne sais pas comment faire pour diriger ceci vers une autre page une fois l'authentification effectuée
pouvez vous m'aidez c'est assez urgent

Mammouth du PHP | 1353 Messages

15 mars 2007, 07:33

a la fin de verif.php :
header("Location : mapage.php");
Tell me and I forget. Teach me and I remember. Involve me and I learn.

ViPHP
ViPHP | 1380 Messages

15 mars 2007, 08:11

... et, pour éviter les surprises, ajouter un exit après la redirection car sans lui, rien n'empêche le code de continuer à s'exécuter après l'envoi du header de redirection.
ripat

laetis
Invité n'ayant pas de compte PHPfrance

15 mars 2007, 10:46

voila la reponse:

Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\verif.php:5) in c:\program files\easyphp1-8\www\verif.php on line 32

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

15 mars 2007, 11:20

Modération :
laetis, ce sujet a déjà été traité (concernant ce message d'erreur) et des réponses ont été apportées.
Faire une petite recherche préalable n'est pas superflu.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

laetis
Invité n'ayant pas de compte PHPfrance

15 mars 2007, 14:02

dans les posts dont tu parles ils disent d'enlever le doctype alors que j'en ai par
donc je n'ai toujours pas trouver la solution

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

15 mars 2007, 14:47

Dans la documentation de la fonction header(), en suivant le lien dans le message de guilt92 :
N'oubliez jamais que header() doit être appelée avant que le moindre contenu ne soit envoyé, soit par des lignes HTML habituelles dans le fichier, soit par des affichges PHP. Une erreur très classique est de lire un fichier avec include() ou require(), et de laisser des espaces ou des lignes vides, qui génèreront un affichage avant que la fonction header() ne soit appelée.
En regardant dans la FAQ du forum en suivant la remarque de Truc : Cannot add header information

Une fois ceci lu, regarde dans le code de verif.php aux alentours de la ligne 5 (verif.php:5) et tu devrais voir ce qui ne va pas :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Invité
Invité n'ayant pas de compte PHPfrance

15 mars 2007, 15:41

merci de m'avoir montrer le lien je viens de comprendre enfin ce message
mais maintenant j'ai un autre probleme
il me redirige vers ma page verif.php ( celle sur laquelle je suis) alors que je lui ai demandé ca "

if ($loginOK) {
header("location=inscription.php");
}
else {
echo 'Une erreur est survenue, veuillez réessayer !';
}
?>

" j'ai du mal faire quelque chose mais je ne vois pas quoi

laetis
Invité n'ayant pas de compte PHPfrance

15 mars 2007, 15:48

pardon je ne sont pas des guillements dans header mais des apostophes
mais ca ne marche toujours pas

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

15 mars 2007, 15:55

Ce n'est pas un "=" qu'il te faut dans le header, mais un ":" :)
if ($loginOK) { 
  header("Location:inscription.php"); 
  exit(); // evite que php continue à exécuter le reste du code
} 
else { 
  echo 'Une erreur est survenue, veuillez réessayer !'; 
} 
J'ai un doute tout d'un coup, mais il me semble que la majuscule à "Location" a également de l'importance selon la version de php...
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

laetis
Invité n'ayant pas de compte PHPfrance

15 mars 2007, 15:57

merci merci merci :oops:

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

15 mars 2007, 19:53

Modération :
Puisque ta question est résolue, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.

Tu peux réaliser cette opération toi-même
en cliquant sur le bouton [Mettre Résolu] qui s'affiche en haut à gauche de ce sujet
si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute