sessions en pagination
Posté : 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
merci a++
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> </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> </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
}
?>