sessions en pagination

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : sessions en pagination

sessions en pagination

par raouen » 15 mai 2011, 20:06

je fais un formulaire dynamique des 2 table dans un système de pagination(7 question par pages) je veux que l'internaute rempli les champs de texte ou coché ce qu'il veux dans chaque page et il avance par suivant ou recule par précédent dans la formulaires et il fait la validation juste aprés dans une page de traitement donc il faut que la récupération des donées entré par l'internaute soit conservé dans des variable session bon mon problème je n'arrive pas a récupérer mes variables ben voila mon code

Code : Tout sélectionner

<?php session_start(); foreach($_POST as $k => $v){ $_SESSION[$k]=$v; } print_r($_SESSION); ?> <?php // Numero de page (1 par défaut) $db_host="localhost"; $db_username="root"; $db_name="navigateursweb"; $db_password=""; //Connexion à la BDD $connect = mysql_connect($db_host,$db_username,$db_password) or die("Erreur de connexion au serveur"); mysql_select_db($db_name,$connect) or die("Erreur de connexion à la base de données"); $sql = "SELECT * FROM question WHERE id_categorie='1'"; $resultat = mysql_query($sql); $count=mysql_num_rows($resultat);/*pour afficher le dernier form*/ if(isset($_GET['page']) && is_numeric($_GET['page']) && (int)$_GET['page'] > 1){ $page = $_GET['page']; }else{ $page=1; } $nb_total = mysql_query('SELECT COUNT(*) AS id_question FROM question WHERE id_categorie = 1 '); $nb_total = mysql_fetch_array($nb_total); $sql = "SELECT count(id_question) FROM question Where id_categorie='1' "; $req = mysql_query($sql) or die (mysql_error()); $nb_questions = mysql_fetch_row($req); $i=1; while($i<=$nb_questions[0]){ if(isset($_POST['question' . $i]) ) { $_SESSION['question' . $i]= $_POST['question' . $i]; } $i++; } print_r($_POST); $nb_total = $nb_total['id_question']; // Pagination // Nombre d'info par page $pagination = 7; // Numéro du 1er enregistrement à lire $limit_start = ($page - 1) * $pagination; $nb_pages = ceil($nb_total / $pagination); ?> <table align="center"> <tr><td> <form method="get" action="<?php echo $_SERVER["PHP_SELF"];?>"> <input type="hidden" name="page" value="<?php if(($_GET['page']+1)<= ($nb_pages+1)) echo ($_GET['page']+1); else{"disabled";} ?>"> <input type="submit" name="BT1" value="PAGE SUIVANTE"> </form> </td><td> <form method="get" action="<?php echo $_SERVER["PHP_SELF"];?>"> <input type="hidden" name="page" value="<?php if(($_GET['page']-1)>1) echo ($_GET['page']-1); ?>"> <input type="submit" name="BT2" value="PAGE PRECEDENTE"> </form> </td></tr> </table> <?php echo '<h1>'.$page .'</h1>'; if($limit_start<=$count){ // Préparation de la requête $sql = "SELECT * FROM question WHERE id_categorie='1' LIMIT $limit_start, $pagination"; // Requête SQL $resultat = mysql_query($sql); // Traitement et affichage des données while ( $donnee = mysql_fetch_assoc($resultat) ) { echo"<div id='question73'>"; echo"<table width='75%' align='center' border='1' style='border-collapse: collapse' bordercolor='#0099CC' bgcolor='white'>"; echo"<tr>"; echo"<td align='center'>"; echo"<table width='100%' cellspacing='0'>"; echo"<tr>"; echo"<td align='center' bgcolor='#E5F9FF'>"; echo"<font size='2' color='#0033CC'><b><label for='5X21X73'>".$donnee['libelle_quest']."</br><font size='2' color='#0099FF'>(".$donnee['remarques'].")</i><b/></label>"; echo"</tr>"; echo"<tr>"; echo"<td align='center'>"; $query_rep = "SELECT * FROM reponse WHERE id_question = ".$donnee['id_question']." ORDER BY id_question"; $result = mysql_query($query_rep) OR die("Erreur"); echo"<table class='question'>"; while ( $reponse = mysql_fetch_array($result) ) { echo"<tr>"; echo"<td>&nbsp;</td>"; echo"<td align='left' class='answertext'>"; if($donnee['type']=="Multichoix") { echo"<input type=\"checkbox\" name=\"question".$donnee['id_question']."[]\"value=\"".$reponse['libelle_rep']."\" />"; echo"<label class=\"answertext\">".$reponse['libelle_rep']."</label>"; echo "<br />"; } else if($donnee['type']=="choix unique") { echo "<INPUT TYPE=\"radio\" NAME=\"question".$donnee['id_question']."\" VALUE=\"".$reponse['libelle_rep']."\""; if(isset($_SESSION['question' . $donnee['id_question']]) AND $_SESSION['question' . $donnee['id_question']]===$reponse['libelle_rep']) {echo "checked";} } echo "/>"; echo $reponse['libelle_rep']."<BR>"; } }//fin while reponses if($donnee['type']=="champs texte") echo"<td align=\"center\"/><input type=\"text\" class=\"text\" name=\"question".$donnee['id_question']."\" size=\"8\"/>"; else if($donnee['type']=="textarea") { echo "<td align=\"center\"/><textarea name=\"question".$donnee['id_question']."\" class=\"textarea\" rows=\"5\" cols=\"40\"></textarea>"; }echo "<br />"; echo"</td>"; echo"<td>&nbsp;</td>"; echo"</tr>"; echo"</table>"; echo"</td>"; echo"</tr>"; echo"<tr>"; echo"<td align='center' bgcolor='#E5F9FF'>"; echo"<font size='1'></font>"; echo"</td>"; echo"</tr>"; echo"</table>"; echo"</td>"; echo"</tr>"; echo"</table>"; echo"<table>"; echo"<tr>"; echo"<td height='1'></td>"; echo"</tr>"; echo"</table>"; echo"</div>"; //fin while question /* ICI VOTRE CODE NORMAL */ /* Affichage d'un élément */ } // Nb d'enregistrement total }else{ echo '<pre>'; print_r($_SESSION); echo '</pre>'; $inputhidden=""; foreach($_SESSION as $k => $v){ $inputhidden.='<input type="hidden" name="'.$k.'" value="'.$v.'" />'; } echo '<form method="post" action="essai.php"> '.$inputhidden.' <input type="submit" value="traitement"> </form>'; //fin } ?>
merci a++