[PHP] header()

Résolu
Sandriine Messages postés 1400 Statut Membre -  
oscarapace Messages postés 58 Statut Membre -
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
Configuration: Windows XP
Internet Explorer 6.0

9 réponses

  1. numeric vodka Messages postés 74 Statut Membre 16
     
    Ajoute un exit; après header("location:acces_info.php"); et header("location:info.php");
    0
  2. Sandriine Messages postés 1400 Statut Membre 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
  3. numeric vodka Messages postés 74 Statut Membre 16
     
    Enlève mysql_close($cnx); et réessaye.
    0
  4. numeric vodka Messages postés 74 Statut Membre 16
     
    et sans les exit;
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Sandriine Messages postés 1400 Statut Membre 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
  7. numeric vodka Messages postés 74 Statut Membre 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
  8. oscarapace Messages postés 58 Statut Membre 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
  9. Sandriine Messages postés 1400 Statut Membre 283
     
    Justement, il n'y en avait pas...

    Enfin bref c'est pas grave, tant que ça marche ^^
    0
  10. oscarapace Messages postés 58 Statut Membre 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