PHP - Redirection

Résolu/Fermé
nino11 Messages postés 76 Date d'inscription samedi 8 décembre 2007 Statut Membre Dernière intervention 27 juin 2008 - 27 mai 2008 à 09:51
 Utilisateur anonyme - 28 mai 2008 à 21:19
Bonjour,

Après le test du login et du pass entré par l'utilisateur, qu'ils soient corrects ou no, je fais une redirection avec un "header"...

Cependant, par exemple, lorsque les login et pass sont erronés, je souhaite afficher un message indicant que les login et pass sont erronés.

C'est pourquoi, je voudrais savoir s'il est possible de savoir si l'on vient d'être redirectionner, ce qui me permettrais de mettre un "if" pour faire afficher le message.

Merci d'avance

6 réponses

Utilisateur anonyme
27 mai 2008 à 09:59
tu peut tout simplement faire un header avec une page ou il y a marque un des champs est vide
0
nino11 Messages postés 76 Date d'inscription samedi 8 décembre 2007 Statut Membre Dernière intervention 27 juin 2008
27 mai 2008 à 10:04
oui, mais si les champs sont remplis mais incorrects ? ? ?
0
macgawel Messages postés 664 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 1 novembre 2008 90
27 mai 2008 à 10:08
Bonjour.

Tu peux utiliser la variable de session : $_SESSION[].
Personnellement, je met le "code" d'erreur dans $_SESSION['erreur'], ce qui me permet de l'utiliser après...

Un exemple de script de vérification :
$_SESSION['erreur'] = 0;
$origine = $_SERVER['HTTP_REFERER']; // Récupère la page d'origine
/* Là, tu fais comme tu le sens.
C'est juste un exemple : 
s'il y a une erreur dans le login/mot de passe, 
on met $_SESSION['erreur'] à 1.
Tu pourrais utiliser plusieurs valeurs, pour avoir un message différent suivant l'erreur
(mail, login vide, login inexistant, etc.
*/
$_SESSION['erreur'] = TesterConnexion($login, $motdepasse) ;
if ($_SESSION['erreur'] == 0) {
// Ici, le code si tout est OK
}
else {
// Ici le code en cas de problème
header($origine);
}


Et comme tu gardes tes variables de session, tu peux utiliser le code d'erreur dans la prochaine page - genre, si tu reviens à la page de connexion, mettre un message pour dire ce qui cloche (tu peux aussi travailler avec une chaîne de caractère qui contient le message d'erreur, ou rien s'il n'y a pas d'erreur...)
0
nino11 Messages postés 76 Date d'inscription samedi 8 décembre 2007 Statut Membre Dernière intervention 27 juin 2008
27 mai 2008 à 10:27
Tu es sûr, enfin, je ne doute pas de toi, mais peut-on utiliser des variables de session sans ouvrir un session ? ? ?
0
macgawel Messages postés 664 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 1 novembre 2008 90 > nino11 Messages postés 76 Date d'inscription samedi 8 décembre 2007 Statut Membre Dernière intervention 27 juin 2008
27 mai 2008 à 10:38
:-O

Non, évidemment...
Si tu n'utilises pas de session, c'est vrai que c'est mort !
Peut-être en passant le code d'erreur en paramètre de la page (monurl.php?err=0) ?
0
nino11 Messages postés 76 Date d'inscription samedi 8 décembre 2007 Statut Membre Dernière intervention 27 juin 2008 > macgawel Messages postés 664 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 1 novembre 2008
27 mai 2008 à 10:53
je peux pas récupérer la variable par la méthode POST ? ? ?

Si j'utilise un champ de type hidden avec une valeur 0, ensuite je la récupère, je fais le test, je lui donne la valeur 1 si c'est pas bon et comme je reviens sur mon formulaire, cette variable $_POST['error'] me permet de faire afficher un message, ensuite comme les champ hidden à une valeur à 0, ça me fait une boucle ? ? ? Qu'en penses-tu ?
0
Utilisateur anonyme > nino11 Messages postés 76 Date d'inscription samedi 8 décembre 2007 Statut Membre Dernière intervention 27 juin 2008
27 mai 2008 à 10:57
on m' ignore a ce que veut vois

tcho
0
nino11 Messages postés 76 Date d'inscription samedi 8 décembre 2007 Statut Membre Dernière intervention 27 juin 2008 > Utilisateur anonyme
27 mai 2008 à 10:59
non, on ne t'ignore pas pakat, mais j'appronfondis l'autre méthode ^^
0
Utilisateur anonyme
27 mai 2008 à 10:10
if (empty($_POST["Le nom"]))

{
header("Location: formulaireerror.php");
}
essaye avec sa pour moi sa marche
0
Utilisateur anonyme
27 mai 2008 à 10:42
envoi ton code c plu simple pour nous je pense
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
27 mai 2008 à 11:00
ya pas de mal
0
Utilisateur anonyme
27 mai 2008 à 18:36
Lol alors sa marche pas( enfin je pense pas mais on c jamais )
0