Travaille Sessions + php

Résolu/Fermé
t671 Messages postés 1453 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 13 novembre 2024 - 17 juin 2010 à 10:20
Manny78 Messages postés 190 Date d'inscription mercredi 16 juin 2010 Statut Membre Dernière intervention 3 avril 2014 - 17 juin 2010 à 10:56
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

Manny78 Messages postés 190 Date d'inscription mercredi 16 juin 2010 Statut Membre Dernière intervention 3 avril 2014 17
17 juin 2010 à 10:30
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
t671 Messages postés 1453 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 13 novembre 2024 11
17 juin 2010 à 10:54
Merciiiiiiiiiiiiiii Manny78 ! Ca fonctionne enfin ...... ;o))

A ++
0
Manny78 Messages postés 190 Date d'inscription mercredi 16 juin 2010 Statut Membre Dernière intervention 3 avril 2014 17
17 juin 2010 à 10:56
De rien.
Bon courage
0