Problème header('location: ...')

Résolu
Tibeyou Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
Tibeyou Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Voici mon problème. Je suis vérifier qu'après avoir rempli un formulaire d'inscription, le pseudo utilisé n'existe pas déjà parmis les membres.
je teste donc avec un if, et si le pseudo existe déjà, je redirige l'utilisateur vers une page qui lui indique que le pseudo est déjà utilisé. J'utilise pour cela la fonction header('location: page_err.php');
Le problème est qu'il n'utilise jamais ce header. J'ai déjà tester pour voi si mon if fonctionnait correctement, et il n'y a aucun problème. Il n'y a aucun message d'erreur ou de warning.
Voici le code :
	if($login == $val['login'])
		header('location: deja.php');


Merci de votre aide

4 réponses

Apaachee Messages postés 248 Date d'inscription   Statut Membre Dernière intervention   47
 
teste ton IF avec un echo pour commencer, ensuite vérifie que le header n'est pas après une balise <html> ;
0
toto
 
Bonjour

Comme on n'a pas le reste du script, on peut supposer que tu envoies plusieurs location:
Et dans ce cas, c'est le dernier qui est pris en compte.
Si tu veux être sûr qu'il soit bien pris, il faut arrêter ton script là grâce à un exit :

if($login == $val['login']){
		header('location: deja.php');
                exit();
} 


Car contrairement à ce que beaucoup de gens supposent, header n'arrête absolument pas l'exécution d'un script.
0
Tibeyou Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai déjà tester mon if, et il fonctionne. Il détecte que le login est déjà utilisé.
Sinon il n'y a pas de balise <html> avant. En fait, lorsque j'utilise mon formulaire en rentrant le même login, il m'éxecute un header qui se trouve à la fin du fichier.
0
toto
 
Tu as lu ma réponse message 2 ou tu étais en train de taper ?
0
Tibeyou Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Je viens d'essayer ce que tu m'as dit, et sa marche.
Merci beaucoup.
0