Header Location, la vraiment jsuis largué les mecs, help ....

kahiros Messages postés 4 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 7 janvier 2005 - 6 janv. 2005 à 23:49
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 7 janv. 2005 à 18:19
Salut tout le monde, et comme le veux la saison, meilleurs voeux.

En fait sur mes pages j'utilise une methode de substitution de mes variables POST par des variables de SESSION, et ce sont ces dernieres ki conditionnent certains de mes affichages.
Cela m'evite les probleme de retour sur page contenant des variables POST

J'utilise pour cela principalement le Header Location.
Et la, enorme problème de la mort ki tue... Serieusement il y a un truc ke j'ai du zapper.

En fait sur le script ci dessous,
-> mon formulaire envoi une variable POST, ki est ensuite transformé en variable de SESSION
-> une fois transformé je me redirige vers cette meme page
-> de la je verifie ke la variable est renseigné et j'affiche un message
-> une fois l'affichage effectué je detruit la variable de SESSION et voila

->??? manque de peau ca fonctionne pas,
il y a un truc ki cloche et ki fait ke le message n'est jamais affiché.

Please jeté un oeil dessus et dites moi au j'ai faux , merci enormement d'avance .

+++ tout le monde

VOILA le script simplifié au stricte minimum

<?
session_start();


// Si j'ai posté la variable where avec la valeur compte
// alors j'initialise une variable de session where avec compte
// et j'arrete le traitement de cette page ici et me redirige sur elle même

if ($_POST["where"]=="compte")
{
$_SESSION["where"]='compte';
header('location: main.php');
}



// a présent si la variable de session where est renseigné avec compte
// j'affiche un message et je remet la variable de SESSION where a nul par exemple

if ($_SESSION["where"]=="compte")
{
echo "COMPTE";
$_SESSION["where"]='';


}


// ici affichage du formulaire ki post la variable where

echo "
<form action=\"main.php\" method=\"post\">

</form>

";


?>

3 réponses

tucsoufle Messages postés 1250 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 30 septembre 2007 1
7 janv. 2005 à 00:10
salut et
meilleurs voeux à toi aussi


pour que le header fonctionne en milieu de page, tu dois rajouter 2 bout de code :



donc ton code va ressembler plus a ca


<?
session_start();

ob_start();


// ton code du milieu



ob_end_flush();
?>


voila, ca devrait marcher

@+

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
0
kahiros Messages postés 4 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 7 janvier 2005
7 janv. 2005 à 10:02
MErce de ta reponse mais ici le probleme n'est pas le header en lui meme, il fonctionne parfaitement.
En fait on dirait que le header(location s'effectue 2 fois, ou encore k'une fois la page affiché il refait un header(location alors ke pourtant jlui ai rien demandé.

Faites le test, si vous cliquez sur le bouton, normalement vous devriez avoir affiché MON COMPTE.

Et bah non .....

++++
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
7 janv. 2005 à 18:19
Salut,



au passage <? est à remplacer par <?php



...

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
0
Rejoignez-nous