Transfert des données en session entre les pages
Posté : 07 févr. 2012, 14:57
Bonjour à tous,
J'essaye d'afficher les variables de session de mon formulaire précédent sur cette page tout en offrant la possibilité de modifier le cas échéant si c'est nécessaire. Il s'agit d'un formulaire adresse de facturation dont les données s'affichent puisqu'elles ont été rentrées dans une page précédente, identification générale. L'adresse de facturation peut être différente comme sur le site de la fnac par exemple. Mon problème est que je récupère les données du formulaire précédent mais je ne conserve pas celles modifiées... je ne sais pas comment faire, il y a quelque chose qui cloche...
Si vous avez cinq minutes... merci d'avance !
Voici mon code simplifié pour qu'il ne soit pas trop long :
J'essaye d'afficher les variables de session de mon formulaire précédent sur cette page tout en offrant la possibilité de modifier le cas échéant si c'est nécessaire. Il s'agit d'un formulaire adresse de facturation dont les données s'affichent puisqu'elles ont été rentrées dans une page précédente, identification générale. L'adresse de facturation peut être différente comme sur le site de la fnac par exemple. Mon problème est que je récupère les données du formulaire précédent mais je ne conserve pas celles modifiées... je ne sais pas comment faire, il y a quelque chose qui cloche...
Si vous avez cinq minutes... merci d'avance !
Voici mon code simplifié pour qu'il ne soit pas trop long :
<?php
session_start();
//valeurs champs premier formulaire = inscription1.php
if (isset($_POST['titre'])) {
$_SESSION['form0']['titre'] = $_POST['titre'];}
if (isset($_POST['prenom'])) {
$_SESSION['form0']['prenom'] = $_POST['prenom'];}
if (isset($_POST['nom'])) {
$_SESSION['form0']['nom'] = $_POST['nom'];}
if (isset($_POST['email'])) {
$_SESSION['form0']['email'] = $_POST['email'];}
//valeurs champs premier formulaire = inscription2.php
if (isset($_POST['labs'])) {
$_SESSION['forma']['labs'] = $_POST['labs'];}
//On récupère ensuite les valeurs du formulaire de facturation au cas où elles auraient été modifié
$_SESSION['formf2'] = $_SESSION['forma'];
if (isset($_POST['labsf2'])) {
$_SESSION['formf2']['labs'] = $_POST['labsf2'];}
// on initialise le tableau des erreurs
$erreurs= array(
"labsf2" => array("msg" => ""),
);
$error_exist= false;
$erreur2= "";
$labsf2= (isset($_POST['labsf2'])) ?($_POST['labsf2']) :("");
if(isset($_POST['inscription'])) {
if(empty($labsf2) {
$erreur2 = "All fields are requested !";
$error_exist= true;
}
// test sur laboratoire
$labs_ko= (strlen($labsf2) < 2);
if($labs_ko) {
$erreurs["labsf2"]["msg"].="Fill the field labsf !<br/>";
$error_exist= true;
}
else {
$erreur2 = 'One of the fields is empty !';
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//FR" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
</head>
<body>
<div id="contour_formulaire">
<form name="formf2" action="inscriptionFacturation3.php" method="POST">
<fieldset style="border-color:#73aad2;border-size:2px;" width="625">
<legend class="titre_labelaut"><span class="Style4"></span></legend>
<p class="TitreFormulaire1">Billing adress #3<br/>
<span class="ClickHere">Does my billing adress different from this one ?</span> <br/>
</p>
<table width="740" border="0" cellpadding="0" cellspacing="0" >
<tr>
<td width="118"><label for="labsf2" class="TexteLogin">Dept/Labs : </label></td>
<td width="282"><input name="labsf2" type="text" class="loginRemplissage" SIZE="45" value="<?php if (!empty($_SESSION['formf2']['labs'])) echo htmlentities(trim($_SESSION['formf2']['labs']));
?>"/>
<span class="TexteCheck">*</span></td>
<td width="340" colspan="3" class="error2"> <?php echo $erreurs["labsf2"]["msg"]; ?> </td>
</tr>
<tr>
<td width="118"> </td>
<td width="282"> </td>
<td colspan="3" class="error2"> </td>
</tr>
<tr> </tr>
<tr>
<td> </td>
<td colspan="7" class="TexteErreur"><?php if (isset($erreur2)) echo '<br />',$erreur2; ?></td>
</tr>
<tr>
<td> </td>
<td colspan="7" class="texteCheckBoxT" valign="top"><strong><a href="inscriptionFacturation4.php" class="TexteFormulaireBleuDessous">>> </a></strong> I have other accounts from wich I can buy. </td>
</tr>
<tr>
<td> </td>
<td colspan="7" class="TexteCheck">* Must be mandatory filled </td>
</tr>
</table>
</fieldset>
</form><br/>
</div>
</body>
</html>