Page 1 sur 1

prob session

Posté : 25 mai 2005, 10:46
par donny
salut,


Je viens de me lancer au session et j'ai recuperer un code sur le net et je l 'ai tester mais il fonctionne à moitié

http://www.laltruiste.com/document.php? ... iable.html

J'ai cette erreur
Identifiant de session : 392b9c83f7737067f8f05bfede5ee3e2
Nom de la session : PHPSESSID


Notice: Undefined variable: nom in c:\program files\easyphp1-7\www\projet\session.php on line 11
Nom :

Notice: Undefined variable: prenom in c:\program files\easyphp1-7\www\projet\session.php on line 12
Prénom :

Notice: Undefined variable: email in c:\program files\easyphp1-7\www\projet\session.php on line 13
eMail :
Merci
PS : si quelqu un a un bon tuto pour debuter avec les sessions je suis preneur

Posté : 25 mai 2005, 10:58
par Cyrano
Salut,
il faudrait qu'on voit ton code en particulier les lignes mentionnées dans les messages d'erreur.

Pour un tuto sur les sessions, tu à Ceci

Posté : 25 mai 2005, 11:05
par donny
voila
<?
  session_start();
?>
 <html>
  <body>
    <?
     echo("<u>Identifiant de session :</u> <b>" 
                              . session_id() . "</b><br>");
      echo("<u>Nom de la session :</u> <b>" 
                              . session_name() . "</b><br><br>");
      echo("<u>Nom :</u> <b>". $nom . "</b><br>");
      echo("<u>Prénom :</u> <b>" . $prenom . "</b><br>");
      echo("<u>eMail :</u> <b>" . $email . "</b><br>");
    ?>
  </body>
</html>
<?
  session_destroy();
?>

Posté : 25 mai 2005, 11:09
par Cyrano
Ok, mais tes trois variables ne sont pas initialisées: est-ce qu'elles sont sensées être des variables de session dans ton esprit ? Auquel ça, il va falloir revoir le code.

Une variable de session se récupère par $_SESSION['nom_variable'] toujours à condition qu'elle soit initialisée, c'est à dite que tu lui as attribué une valeur.

Posté : 25 mai 2005, 11:12
par donny
en faite voila tout le code
$_SESSION c est comme SESSION_REGISTER
<!-- Fichier : formulaire.html -->
<html>
  <body>
    <form method="post" action="traitement.php">
      <table border="0">
        <tr>
        <td><u>Nom :</u></td>
        <td>
          <input type="text" name="cNom" size="20" value="RIVES">
        </td>
        </tr>
        <tr>
        <td><u>Prénom :</u></td>
        <td>
          <input type="text" name="cPrenom" size="20" value="Jean-Pierre">
        </td>
        </tr>
        <tr>
        <td><u>eMail :</u></td>
        <td>
          <input type="text" name="cEmail" size="20" 
                     value="[email protected]">
        </td>
        </tr>
        <tr>
        <td> </td>
        <td>
         <input type="submit" name="soumettre" value="Envoyer">
        </td>
        </tr>
      </table>
    </form>
  </body>
</html>
<!-- Fichier : traitement.php -->
<?
  session_start();

  $nom = $cNom;
  $prenom = $cPrenom;
  $email = $cEmail;

  session_register("nom"); 
  session_register("prenom");
  session_register("email");

  header("Location: session.php?" . session_name() . "=". session_id());
?>
<!-- Fichier : session.php -->
<?
  session_start();
?>
 <html>
  <body>
    <?
     echo("<u>Identifiant de session :</u> <b>" 
                              . session_id() . "</b><br>");
      echo("<u>Nom de la session :</u> <b>" 
                              . session_name() . "</b><br><br>");
      echo("<u>Nom :</u> <b>". $nom . "</b><br>");
      echo("<u>Prénom :</u> <b>" . $prenom . "</b><br>");
      echo("<u>eMail :</u> <b>" . $email . "</b><br>");
    ?>
  </body>
</html>
<?
  session_destroy();
?>
 

Posté : 25 mai 2005, 11:35
par Cyrano
Ok, alors on va faire deux corrections, tu vs je pense comprendre assez facilement:
<?
  session_start();
/* On récupère les valeurs et on initialise les variables de session */
  $_SESSION['nom'] = $cNom;
  $_SESSION['prenom'] = $cPrenom;
  $_SESSION['email'] = $cEmail;

  header("Location: session.php?" . session_name() . "=". session_id());
?>
<!-- Fichier : session.php -->
<?
  session_start();
?>
<html>
  <body>
    <?
     echo("<u>Identifiant de session :</u> <b>"
                              . session_id() . "</b><br>");
      echo("<u>Nom de la session :</u> <b>"
                              . session_name() . "</b><br><br>");
/* On récupère et on affiche les variables de session */
      echo("<u>Nom :</u> <b>". $_SESSION['nom'] . "</b><br>");
      echo("<u>Prénom :</u> <b>" . $_SESSION['prenom'] . "</b><br>");
      echo("<u>eMail :</u> <b>" . $_SESSION['email'] . "</b><br>");
    ?>
  </body>
</html> 

Posté : 25 mai 2005, 11:50
par donny
J 'ai fait les modif

mais j 'ai cette erreur et je pije pas trop
Parse error: parse error, unexpected '=' in c:\program files\easyphp1-7\www\projet\traitement.php on line 5

et je voulais te demander sa ne serait pas comme sa plutot vu qu'on utilise la method post (j'ai essayer avec les 2 et j'ai la même erreur).??? :roll:

<?
  session_start();


  $_SESSION('nom') = $_POST['cNom']; 
  $_SESSION('prenom') = $_POST['cPrenom'];
  $_SESSION('email') = $_POST['cEmail'];

  header("Location: session.php?" . session_name() . "=". session_id());
?>

Posté : 25 mai 2005, 11:53
par Cyrano
Parse error: parse error, unexpected '=' in c:\program files\easyphp1-7\www\projet\traitement.php on line 5
Fais voir les ligne 5 et précédentes du fichier en question.

Pour la méthode post, tu as raison si tes variables arrivent depuis un formulaire en méthode POST

Posté : 25 mai 2005, 11:56
par donny
c est celui et c est pour cela que je pije pas
<?
  session_start();


  [color=red]  $_SESSION('nom') = $_POST['cNom']; [/color]
  $_SESSION('prenom') = $_POST['cPrenom'];
  $_SESSION('email') = $_POST['cEmail'];

  header("Location: session.php?" . session_name() . "=". session_id());
?>

Posté : 25 mai 2005, 12:02
par Cyrano
Tu as mal recopié mon code et tu as mis des parenthèses au lieu de crochets :
<?php
session_start();


$_SESSION['nom'] = $_POST['cNom'];
$_SESSION['prenom'] = $_POST['cPrenom'];
$_SESSION['email'] = $_POST['cEmail'];

header("Location: session.php?" . session_name() . "=". session_id());
?>

Posté : 25 mai 2005, 14:04
par Invité
Exact
Merci

Posté : 26 mai 2005, 08:24
par donny
c'est quoi l'interet des sessions à part que sa permet de garder la valeur d'une variable tout au long de la navigation ?

:?:

Posté : 26 mai 2005, 08:39
par Cyrano
c'est quoi l'interet des sessions à part que sa permet de garder la valeur d'une variable tout au long de la navigation ?

:?:
La réponse est contenue dans la question et c'est déjà un atout considérable dans la conception d'un site dynamique, je n'y vois sinon aucun intérêt supplémentaire ;)

C'est l'idée de base, on conserve des informations qui permettent de suivre un internaute dans sa navigation sur le site, éventuellement de lui faciliter la tâche, de lui présenter des formulaires partiellement complétés avec des informations qui lui sont propres, on gère des statistiques de navigation pour des besoins de marketing, on permet ou non des accès à certaines parties du site à ou des contenus particuliers par exemple pour des clients réguliers à qui on offre des promotions spéciales : bref, les possibilités offertes par ce simple fait de garder des informations sur toutes les pages d'un site ne sont limitées que par ton imagination.