header

Eléphanteau du PHP | 40 Messages

28 févr. 2011, 19:44

bjr
je voulais renvoyer sur une autre fichier lorsque le formulaire avait bien été envoyé



		if( empty($Msg)){

		$fini="ok";

envoi du mail (je vous passe les détails)

}

Code : Tout sélectionner

input type="hidden" name="fini" value="<?php echo $fini ?>" />
puis

<
$fini=$_SESSION['fini'];	
if ($fini=="ok"){
  header("location: sortie.php");
  exit();
}
mais je suis obligé de valider 2 fois

merci de votre aide

ViPHP
AB
ViPHP | 5818 Messages

28 févr. 2011, 20:45

Pourquoi tu passe par une variable de session avant d'envoyer le header ?

Eléphanteau du PHP | 40 Messages

28 févr. 2011, 21:53

salut à toi,
en fait , je savais pas trop comment faire autrement!!!!
mais visiblement je me trompe!

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

28 févr. 2011, 23:31

La question c'est surtout : pourquoi est ce que tu ne fais pas ta redirection juste après l'envoi de mail ? Tu récupères les données de ton formulaire, tu les vérifies, tu envois ton mail et tu rediriges dans la foulée... pas besoin de refaire un formulaire et de le renvoyer entre les deux :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 40 Messages

01 mars 2011, 14:37

j'avais essayé mais lorsque je mets le header après l'envoi du mail j'ai le message d'erreur
Warning: Cannot modify header information - headers already sent by (output started at /homez.110/creditsr/www/normes/criterebnp3.php:3) in /homez.110/creditsr/www/reponse.php on line 443
c'est logique, puisque , si j'ai bien compris, on ne peut pas utiliser un header si on a fait autre chose avant.
Je me trompe ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

01 mars 2011, 14:44

salut,

oui et non :) en fait il ne faut aucun affichage avant ,l'envoi d'entête, si tu affiche quelque chose tu ne pourra pas utiliser header.

vérifie que tu n'ai pas de html de ligne vide ou d'espace avant le header (fichier inclus comprit) il est courant que des éditeurs ajoute une ligne vide en fin de fichier (que l'on vois pas du premier coup) et c'est le drame ;)


@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 40 Messages

02 mars 2011, 16:10

bien vu!!!
un espace dans mon fichier bnp3 avant le début du php qui était "include" dans mon fichier calcul qui était lui même "include" dans ma réponse (vous suivez?)
d'où l'erreur
merci à toi =D> =D>