8792 sujets

Développement web côté serveur, CMS

bonjour à tous !

impossible de faire fonctionner cette fonction ( si simple pourtant Smiley rolleyes )

si je fais un simple formulaire qui se "renvoie" à lui_même ça marche :

<?php session_start();
      $_SESSION['contenu']= $_POST['contenu'];
      ?>
<html>
<head><meta/><title>test formulaire</title></head>

<body>
  <form action="formulaireTest.php" method="post">
  <p>
    <textarea name="contenu"></textarea>
  </p> 
  <input type="submit" value="clic" />
 </form>
 <p><?php echo $_SESSION['contenu'] ?></p>
</body>
</html>

ca m'a permis de vérifier que les sessions étaient activée ..

Mais dès que j'appelle une autre page , soit oar exemple action="allerRetour.php"
avec juste un revoi à la page de départ :

<?php 
    session_start();
    $_SESSION['contenu']= $_POST['contenu'];
    header("Location:formulaireTest.php");
?>

rien n'ets afficher avec echo $_SESSION['contenu'].

J'ai essayé avec juste :

<?php 
 header("Location:formulaireTest.php");
?>

... qui me semblait plus logique et que les valeurs des sessions sont stocké dans un /tmp ( en général) d'après ce que j'ai lu , donc est gardé au'delà de changements de page ...

Mais où est mon erreur !???
Modifié par kzone (12 Jan 2007 - 09:27)
Faut mettre un session_start() sur chaque page qui doit utiliser la session.
Quand au header, il prend une url absolue :
<?php 
header('Location:http://www.lesite.ext/formulaireTest.php');
?>
.... merci bien bison !

Cela marche maintenant , mais mon erreur provenait également que je croyais
'naivement' que l'enregistrement des variables de sessions étaient automatiquement générées ....
Hors bien entendu il faut que le formulaire soit soumis et Alors demander l'enregistrement en session des varaibles ( .... aie tu vas encore dire qu'on ne comprends rien à ce que je dis Smiley cligne ).

mais le code marche tel quel :
formulaire.php

<?php session_start();
      ?>
<html>
<head><meta/><title>test formulaire</title></head>

<body>
  <form action="allerRetour.php" method="post">
  <p>
    <textarea name="contenu"></textarea>
  </p> 
  <input type="submit" value="clic" />
 </form>
 <p><?php echo $_SESSION['contenu'] ?></p>
</body>
</html>

allerRetour.php

<?php 
    session_start();
    $_SESSION['contenu'] = $_POST['contenu'];
    header("Location:http://Developpez-en-SVG.homelinux.org/phpNews/formulaireTest.php");
?>


... merci j'vais pouvoir continuer ...
kzone a écrit :


<?php 
    session_start();
    $_SESSION['contenu'] = $_POST['contenu'];
    header("Location:http://Developpez-en-SVG.homelinux.org/phpNews/formulaireTest.php");
?>


ATTENTION :
manque l'espace entre Location: et http:// !!!!!!

header("Location: http://Developpez-en-SVG....

Arf, le forum interprête les h t t p
PS to Raphael :
Je peux voir la regex qui fait le boulot ?
Modifié par Bison (12 Jan 2007 - 10:27)