PB $_SESSION en php

Résolu
Bonjour,

Je suis un débutant en PHP, donc, ne vous étonez-pas si ma question parait ridicule...

Je crée une session sur une page appelé test1.php que voici, et je voulais savoir pourquoi je n'arrive pas a modifier la valeure $name avec l'input du formulaire. Comment fais-t-on ?
<?php
session_start(); // On démarre la session AVANT toute chose
 
// On s'amuse à créer quelques variables de session :
$_SESSION['name'] = '$name';
$_SESSION['mot_de_passe'] = 'MDP';
 
// Maintenant que le session_start est fait, on peut taper du code HTML
?>
<html>
<head>
<title>Teeest!</title>
</head>
<body>
<form action="">
Change de Nom : <input type="text" name="name" size="20" /><br>
<input type="submit" value="OK" />
</form>
<p>Salut <?php echo $_SESSION['name']; ?>!</p>
<a href="test2.php">Test 2</a>
</body>
</html>


Merci d'avance !
--
Bientot mon site: http://bordinfo.olympe-network.com , site consacré à l'informatique pour tous !
-----------------------------------------------------------------------------------------------------
"S'il on payait un impôt sur la connerie, alors l'état s'auto-financerait"
"La colère envers autrui reflète toujours la tristesse interne"
"La théorie, c'est quand on sait tout mais que rien ne marche, et la pratique c'est quand tout marche mais qu'on ne sait pas pourquoi."
Configuration: Windows XP
Firefox 2.0.0.13

10 réponses

  1. Hello ,

    Tout d'abord normalement aucunes question n'est stupide en soit ;)

    deux

    regarde je te commente ce que je modifie ...
    [code]
    <?php
    session_start(); // On démarre la session AVANT toute chose

    // On s'amuse à créer quelques variables de session :
    /* on récupère le nom dans le tableau POST des données du form */
    $name=*_POST['name'];

    $_SESSION['name'] = '$name';
    $_SESSION['mot_de_passe'] = 'MDP';

    // Maintenant que le session_start est fait, on peut taper du code HTML
    ?>
    <html>
    <head>
    <title>Teeest!</title>
    </head>
    <body>
    <form action="" METHOD='POST'>
    Change de Nom : <input type="text" name="name" size="20" /><br>
    <input type="submit" value="OK" />
    </form>
    <p>Salut <?php echo $_SESSION['name']; ?>!</p>
    <a href="test2.php">Test 2</a>
    </body>
    </html>
    /code

    Les Formulaire s'envois de deux manière soit en GET (dans ce cas les arguments du formulaire sont envoyé comme arguments a la suite de l'url du form) soit par post et la les arguments sont envoyé en variable
    Lorsque ton script recois les informations il les placera suivant le mode de transmission dans le tableau $_GET['nomvar'] soit $_POST['nomvar']

    Voila j'espère t'avoir éclairer
    A++
    1. Merci 10000 fois de ton aide !

      En effet, je suis en train d'aprendre le PHP, mais il me faut un peu de tps :)

      A+ !

      P.S: Cela fait plusieurs fois que je te voi faire la même erreure: c'est avec des <> les balises code et non entre [] ;)
  2. Juste une question... Pourquoi mon navigateur affiche :
    "Parse error: syntax error, unexpected '*' in /www/bordinfo/Une journee au verger/test1.php on line 6"

    Ligne 6 :
    $name=*_POST['name'];

    Même en enleven l'*, le pb perciste. Merci d'avance...
    1. Bonjour,

      Essaie plutôt $_POST à la place de*_POST, ça devrait marcher beaucoup mieux après ;)
      1. Bjr

        Parce qu'il y a une erreur de syntaxe !

        A la place écrit

        $name=$_POST['name'];


        En PHP toutes les variables sont préfixées par le symbole $ y compris les tableaux superglobaux tels que $_SESSION[], $_GET[], $_POST[] etc ...
        1. Pardonne moi je ne me suis pas relu sorry :(

          ha ok oui j'avais pas tilté pour les balise merci je vais corriger ou jepeux

          bonne journée a tous
        2. @burnedsynPas grave...

          Merci à tous pour vos réponsses ! :)
      2. Petit probléme..;
        Voyez par vous même : http://bordinfo.olympe-network.com/Une%20journee%20au%20verger/test1.php

        Le nom ne cange pas :(

        Je re-done le code final :
        <?php
        session_start(); // On démarre la session AVANT toute chose
        
        // On s'amuse à créer quelques variables de session :
        /* on récupère le nom dans le tableau POST des données du form */
        $name=$_POST['name'];
        
        $_SESSION['name'] = '$name';
        $_SESSION['mot_de_passe'] = 'MDP';
        
        // Maintenant que le session_start est fait, on peut taper du code HTML
        ?>
        <html>
        <head>
        <title>Teeest!</title>
        </head>
        <body>
        <form action="" METHOD='POST'>
        Change de Nom : <input type="text" name="name" size="20" /><br>
        <input type="submit" value="OK" />
        </form>
        <p>Salut <?php echo $_SESSION['name']; ?>!</p>
        <a href="test2.php">Test 2</a>
        </body>
        </html> 
        


        Merci d'avance pour vos réponses ...
        1. Bsr

          Evidemment !

          Remplace
          $_SESSION['name'] = '$name';

          par (sans les quotes autour de $name !)

          $_SESSION['name'] = $name;

          et ô miracle
          1. Merci mille foi !!!!!!!!!!!!!!

            Tout marche impec... Merci à tous pour vos réponses
            A+