Travaille Sessions + php

Résolu
Bonjour,

Je voudrais utiliser des Sessions pour le passage de variables pour un livre d'or.
Avec ce que j'ai fait, j'arrive au bout de mes scripts, mais un enregistrement vide est créé ( ??). J'ai donc perdu mes variables en cours de route .....

N.B : mon site s'affiche dans une « frame » centrale. "cryptographp" est un script permettant de gérer un code anti-spam.

Mon index :

<?php 
session_start();
$nom=$_SESSION['nom'];
$prenom=$_SESSION['prenom'];
$mail=$_SESSION['mail'];
$message=$_SESSION['message'];
<html> ......................

$pages = array(
    'accueil' => 'accueil.htm', ...................................
    'livredor'=>'../livredor/livredor_FR.php',
    'saisie' => '../livredor/saisie_FR.php',
    'add'=>'../livredor/add.php',
    'verifier'=>'../livredor/verifier.php',
    'cryptographp'=>'../livredor/crypt/cryptographp.fct.php',
    'cryptographp2'=>'../livredor/crypt/cryptographp.cfg.php',
    'cryptographp3'=>'../livredor/crypt/cryptographp.inc.php',
    'cryptographp4'=>'../livredor/crypt/cryptographp.php'
  ); .........


La saisie du message (saisie_FR):

<?php 
	session_start();
$nom=$_SESSION['nom'];
$prenom=$_SESSION['prenom'];
$mail=$_SESSION['mail'];
$message=$_SESSION['message'];

 $cryptinstall="../livredor/crypt/cryptographp.fct.php";
 include $cryptinstall;   
?>
<html> ......................

<?php 
   echo '<form method="post" action="../FR/index_FR.php?page=verifier" value="envoyer" name="soumettre">';
   echo "<input type=hidden name=\"id\" value=\"$id\">";
   echo '<p><u><b>Votre Nom :</b></u><INPUT type=text name="nom" cols="65" SIZE="50"><br>';
   echo '<p><u><b>Votre Prénom :</b></u;><INPUT type=text name="prenom" cols="65" SIZE="50"><br>';
   echo '<u><b>Votre adresse mail :</b></u><INPUT type=text name="mail" SIZE="50"><p><center>';
   echo '<u><b>Votre commentaire :</b></u><br><textarea cols="65" name="message" id="message" rows="8" wrap="VIRTUAL" accesskey="c" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onchange="storeCaret(this);" >'.$message.'</textarea><br>';
?>
</center>
<input type="reset" value="Effacer"></div><p></p>
<div class="code">
<table width="587">
  <tr><td height="10" align=center width="581"><?php dsp_crypt(0,1); echo'<font size="1">Vous pouvez réinitialiser le code si illisible</font>'; ?></td></tr>
  <tr><td height="25"></td></tr>
  <tr><td width="581">Recopier le code pour validation <input type="text" name="code"><input type="submit" name="submit" value="Envoyer"></td></tr>
</table>
</div>
</body></html>


Mon script de vérification des champs (verifier.php) :

<?php 
	session_start();
  $_SESSION['nom']=$nom;
  $_SESSION['prenom']=$prenom;
  $_SESSION['mail']=$mail;
  $_SESSION['message']=$message;
//print_r($_SESSION); 
//exit;
	
$cryptinstall="crypt/cryptographp.fct.php";
include $cryptinstall; 

if (chk_crypt($_POST['code'])) {
	$nom=$_POST['nom'];
	$prenom=$_SESSION['prenom'];
	$mail=$_POST['mail'];
	$message=$_POST['message'];
		
		header('Location: ../FR/index_FR.php?page=add');
} 

else { 
	$_SESSION['message_erreur']="Attention ! Soit un champs est vide, soit le code de vérification n'est pas correct !";
	 }
?>


Puis vient le script de mise à jour base (add.php). Mais si je mets print_r($_SESSION); dans verifier.php pour voir mes variables de session, j'ai :

Array ( [cryptdir] => ../livredor/crypt [configfile] => cryptographp.cfg.php [cryptcode] => 400a8302e0b7ab4487d6632d1114de6c [crypttime] => 1276758700 [cryptcptuse] => 1 [nom] => [prenom] => [mail] => [message] => )
Donc, apparemment, j'ai déjà perdu mes données ......

J'ai bien un dossier « seesions » dans le dossier où se trouve mes scripts saisie, verifier, add ..., et un à la racine du site (je ne savais plus où le mettre).

Merci de m'aider ...

3 réponses

  1. Pourquoi ne pas passer par des $_POST ?
    Sinon, pour la troisieme page, au lieux de

    $mail=$_POST['mail']; (par exemple)
    Il faut mettre $_SESSION['mail']=$_POST['mail'];
    Rien ne sert de passer par une variable intermédiaire $mail ...
    0
    1. Merciiiiiiiiiiiiiii Manny78 ! Ca fonctionne enfin ...... ;o))

      A ++
      0