Session en php

Bonjour tt le monde!!

je travaille actuellement sur une application dans laquelle je dois insérer dans ma base des données en provenance de plusieurs formulaires!!
je voulais le faire avec les sessions mais je n'ai pas encore réussi!! franchement j'arrive pas à bien comprendre leur fonctionnement!!

j'en ai besoin d'un exemple concret sur l'utilisation des sessions: comment les données d'un formulaire sont sauvegardées en passant par autres formulaires jusqu'à arriver à l'étape finale (le dernier formulaire) où on trouve un bouton ajouter pour envoyer la totalité des informations vers ma BD!!

merci d'avance et très bon week-end :-)
Configuration: Windows XP
Internet Explorer 6.0

30 réponses

Résumé de la discussion

La problématique porte sur la sauvegarde des données issues de plusieurs formulaires et leur envoi en une seule fois vers la base de données, en passant par des pages intermédiaires sans perdre les informations. Des méthodes comme l'utilisation d'inputs cachés pour transmettre les valeurs entre les pages ou l'enregistrement uniquement à la dernière étape permettent de réunir l'ensemble des champs avant l'insertion en BD. Pour être pratique, les données peuvent être conservées dans des sessions ou transmises via champs cachés; des contrôles côté client ou serveur permettent d'organiser les étapes sans perte et de relier les informations à l'utilisateur.

Bobot (l’IA à votre service)
  1. re-re salut!!
    je viens de t'envoyer un autre MP j'éspère que cette fois-ci il arrivera!! sinon je vais te donner mon mail
    1. re!! en fait pour l'enregistrement je n'ai pas encore pensé comment je vais traiter ce cas!! pour le moment j'essaie d'adapter ton code à mon cas pour voir si toutes les données sont là!!

      pour l'enregistrement je crois quand testant j'avais introduit à la fin de la page enregistrement.php mon code php de connexion et d'insertion vers la base et j'ai trouvé dans ma bd que les données concerant les experiences sont la ave une simple requete d'insertion!!

      pour le code ok je vais te l'envoyer on MP!!
      1. Comme j'ai la vague impression que le principe d'utiliser des sessions te gène un peu, je t'ai fait les formulaires en utilisant les champs cachés.

        Si tu m'envoie un MP je te fait passer ça en pièces jointes

        @lain
      2. @Alain_42re!!

        wi c'est vrai tu as tt à fait raison!! j'ai cherché assez de doc sur internet et j'ai essayé de trouver des exemples concrets afin de les comprendre mais j'avoue que je n'ai pas encore réussi!! :-(

        en ce qui conecren le MP je t'ai déja envoyé un tt à lheure!! tu ne l'as pas reçu???

        et merciiiiiiiii pour tt
        bonne journée
      3. @fati.zahraje n'ai rien reçu dans ma boite mail ni dans les indesirables.
    2. re bonjour!!

      en fait en ce qui concerne le code des sessions!! est ce que c'est possible de me donenr plus de commentaires la dessus!!

      j'ai fait entrer ce code danc mon formulaire et j'ai une erreur de undefined variable pour les variables page et idex_arrays alors que tu as déja traité ce cas avec les isset!!

      encore une fois merci
      1. Bonjour!!
        merci pour l'explication c'est très gentil de ta part!

        en fait j'ai testé le code des sessions que tu m'as donné!! et k'ai essayé de l'adapter avec mes besoins!! dans mon cas et dans le formulaire données personnelles l'utilisateur est sesnsé fournir son code d'identité nationale comme ça je peux le distinguer par rapport aux autres utilisateurs!!

        le problème que se pose c'est quand je fais entrer les enregistrements concernant les experiences!! une fois je termine une et je passe à ajouter une autre j'ai ce message d'erreur sur ma page et tt est coincé!!

        concernant le code je sais pas quoi te donner au juste!!!
        merci et bonne journée
        1. Si tu as ce message d'erreur c'est que tu essaye d'enregistrer dans ta BDD à chaque page.

          il faut le faire seulement à dernière.

          donnes moi le code de la page enregistrements.php

          et quels champs as tu prévus dans ta BDD comment l'as tu structuré, notamment pour enregistrer toutes les expériences

          si tu ne veux pas le mettre sur le forum envoie les moi en MP, en fichier joint
      2. bonjour Alian _42!

        j'ai bien testé le code que tu m'ad donnée ca marche mais j'ai tjrs cette erreur qui s'affiche "Duplicata du champ 'c12' pour la clef 1" et elle me bloque pour passer à ajouter un nouvel enregistrement dans le form experiences!!

        bonne journée
        1. Oui une sesion est propre à un utilisateur ( plus précisement à un micro)

          Le principe:

          session_start() va aller voir sur le PC si le cookie qui memeorise le code de session est présent si pas présent il en cree un avec un code généré aléatoirement, ainsi ce code sera conservé dans le cookie tout le temps que l'utilisateur travaille sur le pc et tant qu'il ne ferme pas le navigateur. et en même temps il enregistre ce code sur le serveur

          page suivante il vient lire le code dans le cookie et compare avec celui qu'il a dans le serveur et si tu as stocké des valeurs dans les variables de session elles sont propres à cet utilisateur.

          Donc à la dernière page pour enregistrer dans ta BDD tu dispose de toutes tes valeurs stockées dans les $_SESSION

          concernat l'erreur que tu as "Duplicata du champ 'c12' pour la clef 1" quel code utilise tu ?
          peux tu m'en donne copie ?
      3. bonsoir Alain_42!!
        oui en fait j'ai déja ommencé à travailler selon le modèle de code que tu m'as donné afin de l'adapter à mon cas!!
        puisque je serai peut être obligée de travailler avec les sessions je te serai reconnaissante si tu m'expliques quelques points concernant les sessions:

        1. comment peut on savoir que les données entrées appartiennent à un utilisateur bien défini?? est ce que le fait de déclarer au début de chaque page session_start() est largement suffisant ou bien il faut récuperer une variable pour la faire transferer après tt aux autres formulaires!!!

        2. est ce que les sessions vont me permettre d'afficher l'ensemble de données concernant les experiences d'un utilisateur avant ou après leurs enregistrements dans la base!!

        merci infiniment et bonne soirée
        1. bonsoir Alain42!!
          c'est encore moi! en fait je veux bien savoir si le principe des sessions nécessitent obligatoirment que l'utilisateur utilise un mot de passe et un login !!

          je suis entrain de voir le code que tu m'as donné ci-dessus et voir comment l'adapter à mon cas pour résoudre le prob d'ajout d'expérience qui est devenu vraiment insuportable :-(

          en fait j'ai pensé à faire les insertions au niveau de chaque form qui suit:
          par exemple pour le form1 j'ai mis dans l'action du form action=form2.php et au niveau de celui la j'ai mis le code php qui permet de faire l'enregistrelent vers la BD tt en haut de la page (c'est une chose que tu m'as proposé la dernière fois) !! j'ai fait la même chose pour les autres form mais en fait ca na pas marché quand j'ai consulté ma BD j'ai trouvé que seules les données du premier form qui ont été transmises à la base de données :-(!!!

          j'ai pensé alors à faire autre chose c'est pour cela que j'ai decidé de faire 2 boutons qur chaque form un bouton Ajouter pour envoyer les données du form1 à la BD avant de passer au form2 et l'autre suivant pour naviguer vers les autres form!!

          le proooooooooooooob qu'il y a c'est moi je veux que le champs id-utilisateur qui est saisi au niveau de form 1 soit récupérable dans les autres champs!! cela est possible sauf si on met dans l'action du form1 action=form2.php alors que moi je veux faire action=form1.php et quand je clique sur suivant le id-utilisateur se transfert tjrs !!
          est il possible de faire cela!!

          je me coince sur ce prob ça fait des jours alors que je vais bientôt rendre mon travail :-(

          merci et très bonne soirée
          1. Non pour les sessions il n'est pas necessaire de taper un login et mot de pass ,le preuve si tu essayes les deux codes que je t'ai fait ils fonctionnent.
          2. En fait je suis parti sur le principe du stockage des valeurs des différents form par les sessions parce que c'est la solution la plus adaptée à ton cas de formulaire dont le nombre est variable (l'utilisateur peut en remplir autant qu'il veut)

            qd je te proposait d'enregistrer les données au début du form suivant, c'était avec un nombre de form bien défini à l'avance

            regarde si ça te convient avec les sessions et on verra ensuite pour la partie enr dans la BDD par le bouton de la page récapitulatif

            @lain
        2. bonsoir Alain_42!!

          ben je sais pas quoi dire mais vraiment merci infiniment pour ton intérêt !!!
          je vais voir ton script et j'essayerai de l'adapter à mes besoins!!

          passe une très bonne soirée
          1. ok merci bien et je te serai reconnaissante si tu peux me l'envoyer aujourd'hui :-) je vais terminer mon sateg cette semaine et je dois résoudre ce prob avant de quitter!
            merciiiiiii et très bonne journée
            1. Voilà: en fait j'ai essayé en utilisant les sessions

              il ne te rest plus qu'a coder enregistrement.php

              donnees_perso.php:
              <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
              	<html>
              	<head>
              	  <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
              	  <title>Donn&eacute;es personelles<?php echo $page; ?></title>
              	</head>
              	<body>
              	<br>
              	<form name="form" method="post" action="enregistrements.php" >
              		<table style="text-align: left; width: 200px;" border="0" cellpadding="2" cellspacing="2">
              	    <tbody>
              			<tr>
              				<td>Nom:</td>
              				<td><input name="nom" id="nom" value="" type="text"></td>
              			</tr>
              			<tr>
              				<td>Prenom:</td>
              				<td><input name="prenom" id="prenom" value="" type="text"></td>
              			</tr>
              			<tr>
              				<td>Adresse:</td>
              				<td><input name="adresse" id="adresse" value="" type="text"></td>
              			</tr>
              			<tr>
              				<td>Ville:</td>
              				<td><input name="ville" id="ville" value="" type="text"></td>
              			</tr>
              			<tr>
              				<td>Code_postal:</td>
              				<td><input name="cp" id="cp" value="" type="text"></td>
              			</tr>
              				<td colspan="2">&nbsp;</td>
              			</tr>
              			<tr>
              				<td colspan="2" align="center"><input type="submit"name="continuer" value="Continuer"></td>
              			</tr>
              	    </tbody>
              		</table>
              	  <br>
              	  <input type="hidden" name="page" value="0">
              	</form>
              	</body>
              	</html>


              et enregistrements.php

              <?php
              session_start();
              //page en cours
              if(isset($_POST['page']) AND $_POST['page']!=""){
              	$page=$_POST['page'];
              }
              //index_arrays des array
              if(isset($_POST['index_arrays']) AND $_POST['index_arrays']!=""){
              	$index_arrays=$_POST['index_arrays'];
              }else{
              	$index_arrays=$page-1;
              }
              
              
              //init des variables de session en fonction première page (si pas définie) ou mémorisation dans des  array si pages suivantes
              if(!isset($_SESSION['champ1'])){$_SESSION['champ1']=array();}else{if(isset($_POST['champ1'])){$_SESSION['champ1'][$index_arrays]=$_POST['champ1'];}}
              if(!isset($_SESSION['champ2'])){$_SESSION['champ2']=array();}else{if(isset($_POST['champ2'])){$_SESSION['champ2'][$index_arrays]=$_POST['champ2'];}}
              if(!isset($_SESSION['champ3'])){$_SESSION['champ3']=array();}else{if(isset($_POST['champ3'])){$_SESSION['champ3'][$index_arrays]=$_POST['champ3'];}}
              if(!isset($_SESSION['champ4'])){$_SESSION['champ4']=array();}else{if(isset($_POST['champ4'])){$_SESSION['champ4'][$index_arrays]=$_POST['champ4'];}}
              if(!isset($_SESSION['champ5'])){$_SESSION['champ5']=array();}else{if(isset($_POST['champ5'])){$_SESSION['champ5'][$index_arrays]=$_POST['champ5'];}}
              if(!isset($_SESSION['champ6'])){$_SESSION['champ6']=array();}else{if(isset($_POST['champ6'])){$_SESSION['champ6'][$index_arrays]=$_POST['champ6'];}}
              if(!isset($_SESSION['champ7'])){$_SESSION['champ7']=array();}else{if(isset($_POST['champ7'])){$_SESSION['champ7'][$index_arrays]=$_POST['champ7'];}}
              
              //on increment le numero de page pour la suivante
              	
              	$page=$page+1;
              	$index_arrays=$index_arrays+1;
              
              //recup données perso postées
              if(isset($_POST['nom'])){$nom=$_POST['nom'];}
              if(isset($_POST['prenom'])){$prenom=$_POST['prenom'];}
              if(isset($_POST['adresse'])){$adresse=$_POST['adresse'];}
              if(isset($_POST['ville'])){$ville=$_POST['ville'];}
              if(isset($_POST['cp'])){$cp=$_POST['cp'];}
              
              //si première page ou si click sur suivant
              if($page == 1 OR (isset($_POST['suivant']) AND $_POST['suivant'] !="")){
              	
              	//affichage de la page formulaire
              ?>
              	<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
              	<html>
              	<head>
              	  <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
              	  <title>Enregistrements n°<?php echo $page; ?></title>
              	</head>
              	<body>
              	<span style="font-weight: bold;">Vous remplissez l'enregegistrement numéro <?php echo $page; ?></span><br>
              	<br>
              	<form name="form" method="post" action="enregistrements.php" >
              		<table style="text-align: left; width: 200px;" border="0" cellpadding="2" cellspacing="2">
              	    <tbody>
              			<tr>
              				<td>Champ1:</td>
              				<td><input name="champ1" id="champ1" value="" type="text"></td>
              			</tr>
              			<tr>
              				<td>Champ2:</td>
              				<td><input name="champ2" id="champ2" value="" type="text"></td>
              			</tr>
              			<tr>
              				<td>Champ3:</td>
              				<td><input name="champ3" id="champ3" value="" type="text"></td>
              			</tr>
              			<tr>
              				<td>Champ4:</td>
              				<td><input name="champ4" id="champ4" value="" type="text"></td>
              			</tr>
              			<tr>
              				<td>Champ5:</td>
              				<td><input name="champ5" id="champ5" value="" type="text"></td>
              			</tr>
              			<tr>
              				<td>Champ6:</td>
              				<td><input name="champ6" id="champ6" value="" type="text"></td>
              			</tr>
              			<tr>
              				<td>Champ7:</td>
              				<td><input name="champ7" id="champ7" value="" type="text"></td>
              			</tr>
              				<tr>
              				<td colspan="2">&nbsp;</td>
              			</tr>
              			<tr>
              				<td colspan="2" align="center"><input type="submit"name="suivant" value="Autre enregistrement"></td>
              			</tr>
              			<tr>
              				<td colspan="2">&nbsp;</td>
              			</tr>
              			<tr>
              				<td colspan="2" align="center"><input type="submit" name="terminer" value="Terminer" ></td>
              			</tr>
              	    </tbody>
              		</table>
              	  <br>
              <?php
              	
              	
              ?>
              	<!-- champs caches pour la suite-->
              	  <input type="hidden" name="page" value="<?php echo $page; ?>">
              	  <input type="hidden" name="index_arrays" value="<?php echo $index_arrays; ?>">
              	  <!-- champs caches des donnees perso -->
              	  <input type="hidden" name="nom" value="<?php echo $nom; ?>">
              	  
              	  <input type="hidden" name="prenom" value="<?php echo $prenom; ?>">
              	  
              	  <input type="hidden" name="adresse" value="<?php echo $adresse; ?>">
              	  
              	  <input type="hidden" name="ville" value="<?php echo $ville ?>">
              	  
              	  <input type="hidden" name="cp" value="<?php echo $cp; ?>">
              	</form>
              	</body>
              	</html>
              <?php
              
              }
              
              // si click sur Terminer
              if(isset($_POST['terminer']) AND $_POST['terminer'] !=""){
              	//affichage page recapitulatif
              	?>
              <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
              	<html>
              	<head>
              	  <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
              	  <title>Terminer</title>
              	</head>
              	<body>
              <?php
              $derniere_page=$_POST['page'];
              $dernier_index_arrays=$_POST['index_arrays'];
              //recup données perso postées
              if(isset($_POST['nom'])){$nom=$_POST['nom'];}
              if(isset($_POST['prenom'])){$prenom=$_POST['prenom'];}
              if(isset($_POST['adresse'])){$adresse=$_POST['adresse'];}
              if(isset($_POST['ville'])){$ville=$_POST['ville'];}
              if(isset($_POST['cp'])){$cp=$_POST['cp'];}
              
              ?>	
              	<form name="form_recap" method="post" action="enregistrement.php">
              	<b>Recapitulatif de vos saisies:</b><br><br>
              		<table style="text-align: left; width: 200px;" border="0" cellpadding="2" cellspacing="2">
              	    <tbody>
              		
              		<tr><td colspan="2" align="center"><b>Vos donn&eacute;es personelles:</b></td>
              		</tr>
              		<tr><td>Nom:</td><td><?php echo $nom; ?></td>
              		<tr><td>Prenom:</td><td><?php echo $prenom; ?></td>
              		<tr><td>Adresse:</td><td><?php echo $adresse; ?></td>
              		<tr><td>Ville:</td><td><?php echo $ville; ?></td>
              		<tr><td>Code Postal:</td><td><?php echo $cp; ?></td>
              		</tr><tr><td colspan="2" align="center">&nbsp;</td>
              		</tr>
              <?php		
              		for ($p=1;$p<=$derniere_page;$p++){
              			$i=$p-1;//index arrays
              			echo "<tr>
              					<td colspan=\"2\" align=\"center\"><b>Enregistrement n° ".$p."</b></td>
              					</tr>";
              				echo "<tr>
              				<td>Champ1:</td>
              				<td>".$_SESSION['champ1'][$i]."</td>
              				</tr>";
              				echo "<tr>
              				<td>Champ2:</td>
              				<td>".$_SESSION['champ2'][$i]."</td>
              				</tr>";
              				echo "<tr>
              				<td>Champ3:</td>
              				<td>".$_SESSION['champ3'][$i]."</td>
              				</tr>";
              				echo "<tr>
              				<td>Champ4:</td>
              				<td>".$_SESSION['champ4'][$i]."</td>
              				</tr>";
              				echo "<tr>
              				<td>Champ5:</td>
              				<td>".$_SESSION['champ5'][$i]."</td>
              				</tr>";
              				echo "<tr>
              				<td>Champ6:</td>
              				<td>".$_SESSION['champ6'][$i]."</td>
              				</tr>";
              				echo "<tr>
              				<td>Champ7:</td>
              				<td>".$_SESSION['champ7'][$i]."</td>
              				</tr>";
              				//un petit espace
              				echo "<tr>
              					<td colspan=\"2\" align=\"center\"><b>-----------------------------------</b></td>
              					</tr>";
              			
              		
              		}
              ?>		
              			
              			<tr>
              				<td colspan="2">&nbsp;</td>
              			</tr>
              			<tr>
              				<td colspan="2" align="center"><input type="submit" name="enregistrer" value="Enregistrer" ></td>
              			</tr>
              	    </tbody>
              		</table>
              	  <br>
              	<form name="form_recap" method="post" action="enregistrement.php">
              		<!-- champs caches pour la suite-->
              	  <input type="hidden" name="page" value="<?php echo $page; ?>">
              	  <input type="hidden" name="index_arrays" value="<?php echo $index_arrays; ?>">
              	  <!-- champs caches des donnees perso -->
              	  <input type="hidden" name="nom" value="<?php echo $nom; ?>">
              	  
              	  <input type="hidden" name="prenom" value="<?php echo $prenom; ?>">
              	  
              	  <input type="hidden" name="adresse" value="<?php echo $adresse; ?>">
              	  
              	  <input type="hidden" name="ville" value="<?php echo $ville ?>">
              	  
              	  <input type="hidden" name="cp" value="<?php echo $cp; ?>">
              	</form>
              	</body>
              	</html>
              
              
              <?php
              }
              ?>
          2. bonjour!!
            en fait je vais ré-expliquer le cas que j'ai peut être je serai plus claire cette fois ci!!
            l'utilisateur commence tt d'abord par remplir ses données personnelles une fois il termine il clisue sur un botuon suivant qui le mène vers un form2 là où il remplit les informations concernant ses experiences professionnelles!!
            à ce niveau là il a le droit de remplir le form autant de fois qu'il voit! après chaque remplissage il tape sur un bouton ajouter pour sauvegarder les données qui viennent d'être insérées et les champs sont à nouveau vides pour lui permettre de taper autres experiences!! une fois il finit à ce moment là il passe au form qui suit à travers un bouton suivant !!

            maintenant le prob c'est comment faire pour afficher la totalité des données concercant ses expériences que à ça soit sous forme d'un tableau ou autrement et cela au niveau de form apercu.php!!
            en plus comment les envoyer après vers ma BD??
            très bonne journée
            1. bonjour Alain_42!! :-)

              en fait je sais pas si on a les mêmes idées concerant ce prob !!mais je vais t'exepliquer pas à pas le fonctionnement de mes formulaires peut être on sera d'accord ts les deux:

              l'utilisateur commence par saisir le form1 il s'agit en fait de ses données personnelles, une fois il termine il clique sur le bouton suivant qui le mène directement vers le form2 qui est experiences.php en sachant que je conserve mes données selon la méthode que tu m'as proposée avant pour faire un aperçu à la fin!!
              et c'est là que commence mon prob!! au niveau de ce dernier form l'utilisateur a le droit de le remplir autant de fois qu'il veut mais après chaque remplissage il doit cliquer sur un un bouton ajouter afin de conserver ses données!! après ce clique les champs se vident à nouveau et on reste tjrs dans le même form!! une fois il termine il tape sur suivant pour passer ou form3 et ainsi de suite!!

              à la fin de toutes ces insertions on doit voir sur son aperçu la totalité de ses expériences sous forme d'un tableau à ce moment là il peut cliquer sur envoyer pour l'enregistrement vers la base!!

              j'éspère que cette fois j'étais plus claire!!

              très bonne journée
              1. Ok c'est bien comme ça que j'avais compris

                a part le premier form de données perso

                J'ai commencé à regarder le code. Il faut passer par un système d'array pour mémoriser

                Dès que j'ai qq chose et un peu de temps je te l'envoie
            2. re!
              en fait si je faisais l'action d'insertion au nivaeu de chaque formulaire j'aura pu éviter ce prob puisque l'utilisateur remplit le forrmulaire et une fois il tape sue ajouter les données sont envoyées vers la base!! il fait cette opération autant de fois qu'il veut après avec un bouton suivant il passe au formlaire suivant!!
              je ne sais pas si j'étais assez claire!! si ce n'est pas le cas je peux ré-expliquer tt à nouveau!!
              merci pour ton attention
              1. Salut,

                ok je vois tu as un formulaire avec deux boutons:

                - un suivant (ou autre formulaire)
                - un Terminé

                et tu veux que si click sur suivant ça ouvre une nouvelle page de formulaire , autant de fois que l'on veut (sans perdre les valeurs des précédents)

                et si click sur Terminé ça affiche un récapitulatif de tous les formulaires remplis et avec un bouton Enregistrer ça fasse l'enregistrement dans la BDD

                C'est ça ?
            3. bonsoir Alain_42!!
              merci pour ta réponse!! en fait oui j'ai utilisé ta méthode et ca marche très bien!!

              encore un souci à te proposer!! dans mon appli je dois récupérer les données issues d'un de mes formulaires qui est experiences.php!! dans celui la j'ai 7champs à remplir par l'utilisateur!
              le prob que j'ai c'est qu'un utilisateur peut ajouter plusieurs experiences!! donc comment je peux gérer cela dans la page apperçu qui est un rappel de tous mes données?!! et comment puis je les envoyer à ma BD!!
              merci et bonne soirée
              1. Bonsoir,

                un utilisateur peut ajouter plusieurs experiences
                comment fait-il ?

                c'est bien toi qui lui propose un nouveau formulaire dès qu'il en a rempli un donc tu peux gerer ça
                experience.php (comme page1.php)
                experience2.php (comme page2.php)
                etc..

                et le recap comme page4.php
            4. wi bien sur,
              pour bien comprendre in visiteur se connecte php genre un numero pour cela grace à la fonction session_start()
              ce numerp sert d'identifiant .
              php transmet ce numero de page en page en utilisant un cookei
              1. En fait pour le mécanisme des sessions

                le script php avec cree un identifiant de session qu'il envoie au navigateur de l'utilisateur et à chaque demande de nouvelle page par cet utilisateur l'identifiant est envoyé au script et ainsi les variables stockées dans $_SESSION sont propres à cet utilisateur(navigateur)

                Mais avec les champs cachés comme j'ai proposé ça marche bien aussi.
            5. wi j'ai saisi ce que tu viens d'expliquer c'est intéressant!!
              en fait ce que je veux encore savoir est ce que la notion des sessions nous garantit que les données résupérées tt au long de nos formulaires appartiennet à un utilisateur bien précis comme dans le cas des sites de commerce!!
              merci :-)
              1. reslama Mlle
                pour les sessions sont utilisées pour simplifier la vie l'objectif principale est:par exemple on recupere une variable a partir d'un formulaire ,avec les sessions on peut appler cette variable n'importe ou dans notre page de notre site ou application voici un exemple
                //la page 1
                <?php
                session_start();
                ?>
                <html>
                <body>
                <form method="POST" action="page2.php">
                votre nom <input type="text" name="nom"> <br>
                votre prenom <input type="text" name="prenom">
                <input type="submit" name="aller" value="envoyer">
                </form>
                // la page 2
                <?php
                session_start();
                $_SESSION['nom']=$_POST['nom'];
                $_SESSION['prenom]=$_POST['prenom'];
                echo $_SESSION['nom'];
                echo $_SESSION['prenom'];

                ?>
                vous voyez que on peut afficher le nom dans le second formulaire et on peut le afiche dans le 3eme et le 4eme et le 5eme et.....
                mais il faut tjr commencer notre code avec session_start();
                j'espere cette fois j'ai un peu rajouter quelque chose,
                1. c'est encore moi! mais cette fois c'est pour aityahia!! en fait j'ai pensé à utilisé du javascript !! moi j'ai utilisé window.show mais ça n a pas marché!!
                  en fait je viens juste d'utiliser le bout de code js que tu as donnée mais celui la encore n'a pas marché!! je n'ai aucune action??!!!
                  et merci pour ton aide :-)
                  bonne soirée
                  1. re salut

                    pour oujdaoujda!! en fait j'ai essayé de travailler avec les sessions mais je n'ai pas réussi :-( d'ailleurs je sais pas exactement comment on fait pour garder les données qui appartiennent à un utilisateur précis???!!! par exemple dans mon cas j'ai 5 formulaires que l'utilisateur doit remplir! donc est ce que dans chaque formulaire je dois suvegarder ses données et les appeler par la suite dans le formialre qui suit??!! c'est ça que j(arrive pas à comprendre!!

                    merci encore une fois d'avoir répondu à mon prob et très bonne soirée
                    1. avec du javascript tu peut faire 100 submit si tu veut
                      voici un petit apperçu.

                      <script type="text/javascript">
                        function function1
                        {
                       document.myform.action='action1.php';
                         }
                        function function2
                        {
                       document.myform.action='action2.php';
                         }
                      ..
                      ..
                      
                      </script>
                      
                      </header>
                      <form name="myform" action="#" methode="post">
                      <input type="button" id="btn1" onclick="fonction1"/>
                      <input type="button" id="btn2" onclick="fonction1"/>
                      <input type="button" id="btn3" onclick="fonction1"/>
                      </form>
                      1. resalam
                        j'ai une remarque puisaque tu as dit tt heurs que tu travaille avec les session donc
                        pourquoi pas à chaque page tu declare start _session();
                        et comme ca au lieu d'ecrire chaque fois
                        if(isset($_POST['nom'])){ $nom=$_POST['nom'];}
                        on là ecrit uniquement une fois comme ca $_SESSION['nom']=$_POST['nom'];
                        et dans les autres pages tu ecris seulement $_SESSION['nom'];
                        et comme ca tu travaille avec les sessions
                        et je remercie le mec alain_42,pour ces explications
                        parceque meme moi je commence avec le php .
                        merci fati poue le sujet
                        • 1
                        • 2