[PHP] header()

Résolu/Fermé
Sandriine Messages postés 1255 Date d'inscription samedi 9 décembre 2006 Statut Membre Dernière intervention 18 août 2010 - 15 janv. 2009 à 11:27
oscarapace Messages postés 56 Date d'inscription mardi 20 novembre 2007 Statut Membre Dernière intervention 19 juin 2009 - 15 janv. 2009 à 14:11
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 lundi 12 janvier 2009 Statut Membre Dernière intervention 20 janvier 2009 16
15 janv. 2009 à 11:29
Ajoute un exit; après header("location:acces_info.php"); et header("location:info.php");
0
Sandriine Messages postés 1255 Date d'inscription samedi 9 décembre 2006 Statut Membre Dernière intervention 18 août 2010 283
15 janv. 2009 à 11:32
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 lundi 12 janvier 2009 Statut Membre Dernière intervention 20 janvier 2009 16
15 janv. 2009 à 11:36
Enlève mysql_close($cnx); et réessaye.
0
numeric vodka Messages postés 65 Date d'inscription lundi 12 janvier 2009 Statut Membre Dernière intervention 20 janvier 2009 16
15 janv. 2009 à 11:36
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 samedi 9 décembre 2006 Statut Membre Dernière intervention 18 août 2010 283
15 janv. 2009 à 11:42
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 lundi 12 janvier 2009 Statut Membre Dernière intervention 20 janvier 2009 16
15 janv. 2009 à 11:44
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 mardi 20 novembre 2007 Statut Membre Dernière intervention 19 juin 2009 14
15 janv. 2009 à 11:48
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 samedi 9 décembre 2006 Statut Membre Dernière intervention 18 août 2010 283
15 janv. 2009 à 13:43
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 mardi 20 novembre 2007 Statut Membre Dernière intervention 19 juin 2009 14
15 janv. 2009 à 14:11
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