[PHP] header()

Résolu
Sandriine Messages postés 1255 Date d'inscription   Statut Membre Dernière intervention   -  
oscarapace Messages postés 56 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je sais que la fonction de redirection header() ne fonctionne pas si il y a le moindre envoi au naviguateur avant, mais ma fonction ne marche toujours pas.

Voici mon formulaire qui permet de saisir un mot de passe:
<form name="frmMDP" action="verif.php" method="POST" OnSubmit="return Rempli();">
   Mot de passe : 
   <input type="password" name="txtMDP" />
   <p><input type="submit" VALUE="Valider" NAME="BtValider" />
   <input type="reset" value="Annuler" name="BtAnnuler" />
</form>

La fonction rempli() return true si le champdu mot de passe est rempli, sinon false.

Mon fichier verif.php (vérifie si le mot de passe est bon, et redirige) :

<?
	include('cnx.php');//connexion

	if($_POST["txtMDP"]=="informatique")
	{	
		header("location:info.php");
	}
	else
	{
		header("location:acces_info.php");
	}

	//fermeture de la connexion
	mysql_close($cnx);

?>

Cordialement,
Sandrine
A voir également:

9 réponses

numeric vodka Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   16
 
Ajoute un exit; après header("location:acces_info.php"); et header("location:info.php");
0
Sandriine Messages postés 1255 Date d'inscription   Statut Membre Dernière intervention   283
 
J'ai toujours la même erreur sur le header...
Warning: Cannot modify header information - headers already sent by (output started at /var/www/impressions/cnx.php:4) in /var/www/impressions/verif.php on line 5
0
numeric vodka Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   16
 
Enlève mysql_close($cnx); et réessaye.
0
numeric vodka Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   16
 
et sans les exit;
0

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

Posez votre question
Sandriine Messages postés 1255 Date d'inscription   Statut Membre Dernière intervention   283
 
Bon j'ai résolu mon problème.

En fait je n'avais pas besoin de me connecter à la base de donnée vu que je n'avais pas besoin d'y accéder dans verif.php.

J'ai donc enlevé include('cnx.php'); et mysql_close($cnx);

Depuis, ça marche, mais ce que je ne comprends pas, c'est que ça aurait quand même du marcher, vu qu'il n'y avait aucun affichage...

Merci quand même à toi.
0
numeric vodka Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   16
 
Désolé de ne pas avoir pu t'aider plus. Je ne suis pas un fan des include j'ai souvent des problème avec ^^
Bonne continuation.
0
oscarapace Messages postés 56 Date d'inscription   Statut Membre Dernière intervention   14
 
Un problème : il suffit que un de tes fichiers includes ait un caractère d'espacement et le header ne marchera pas.

par exemple si au début ou à la fin de ton fichier il y a un blanc avec le <? ou après le ?> (des fois on ne ne voit pas), ou un saut de ligne
0
Sandriine Messages postés 1255 Date d'inscription   Statut Membre Dernière intervention   283
 
Justement, il n'y en avait pas...

Enfin bref c'est pas grave, tant que ça marche ^^
0
oscarapace Messages postés 56 Date d'inscription   Statut Membre Dernière intervention   14
 
il doit forcément y avoir un truc. généralement on finit toujours par trouver le truc bête qu'on voyait pas...
0