Garder les données après affichage de la reponse du formulai

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 : Garder les données après affichage de la reponse du formulai

Re: Garder les données après affichage de la reponse du formulai

par macgawel » 17 mars 2011, 15:52

Bonjour.

1. Un peu HS, mais indispensable :
Pense à sécuriser les données reçues par POST (avec mysql_real_escape_string() par exemple).

2. Tu peux déjà faire un print_r($_POST) au début de ta page, et un echo "option = $option"; pour voir le contenu des variables.
Ca te permettra de voir ce qui est envoyé...Et avec ça tu devrais voir où est le problème :wink:

Re: Garder les données après affichage de la reponse du formulai

par xTG » 17 mars 2011, 15:51

L'attribut name de ta balise select.
a+

Re: Garder les données après affichage de la reponse du formulai

par steph70 » 17 mars 2011, 15:33

Plus d'idée ?

Amicalement
Steph70

Re: Garder les données après affichage de la reponse du formulai

par steph70 » 17 mars 2011, 14:02

bonjour et merci pour ton aide.

je viens d'essayer mais ca ne fonctionne pas. Je reviens toujours au point de départ sans conserver mon select selectionné.

Je te redonne le code comme je l'ai modifié au cas ou j'aurais fait une betise.
<html lang="fr"><head><meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type"></head>
<body>
<basefont face="Tahoma" size="2"> 
<br>
<center><h3><span style="color: rgb(92, 168, 10);"><i><u>Pages visitées Date Choisie</u><br>Groupe Choisit</i></span></h3></center>
<center><table width="300" border="1" cellspacing="0" cellpadding="0">

  <tr>
	<td width="5"><font face="tahoma" size="2"><span style="color: rgb(92, 168, 10);"><div align="center">Nom de la page</div><span></font></td>
  
	<td width="5"><font face="tahoma" size="2"><span style="color: rgb(92, 168, 10);"><div align="center">Visites</div><span></font></td>
	
 </tr>
<br>

<!-- ajout code php -->
<?php
$option = (isSet($_POST['option'])) ? $_POST['option'] : 0; // récupération de la valeur, si elle n'existe pas on lui attribue 0
?>
<center><form action="#" method="post">
	<span style="color: rgb(92, 168, 10);"><label>Date format AAAA-MM-JJ: </label></span><input name="date" type="text" value="201">
	<select name="groupe">
	<option value ="6" <?php if( $option == 6 ) echo 'selected="selected'; ?>>--Adh. PV--</option>
	<option value ="8" <?php if( $option == 8 ) echo 'selected="selected'; ?>>--Adh. PA--</option>
	<option value ="9" <?php if( $option == 9 ) echo 'selected="selected'; ?>>--Adh. Vigne--</option>
	<option value ="11" <?php if( $option == 11 ) echo 'selected="selected'; ?>>--Direction--</option>
	<option value ="12" <?php if( $option == 12 ) echo 'selected="selected'; ?>>--Tech. PV--</option>
	<option value ="13" <?php if( $option == 13 ) echo 'selected="selected'; ?>>--Tech. PA--</option>
	<option value ="14" <?php if( $option == 14 ) echo 'selected="selected'; ?>>--Personnels Silo--</option>
	<option value ="15" <?php if( $option == 15 ) echo 'selected="selected'; ?>>--Resp. Service--</option>
	<option value ="16" <?php if( $option == 16 ) echo 'selected="selected'; ?>>--Personnels Administratif--</option>
	<option value ="17" <?php if( $option == 17 ) echo 'selected="selected'; ?>>--Conseil d'Administration--</option>
	<option value ="18" <?php if( $option == 18 ) echo 'selected="selected'; ?>>--Test--</option>
	<option value ="24" <?php if( $option == 24 ) echo 'selected="selected'; ?>>--Salariés--</option>
	<option value ="19" <?php if( $option == 19 ) echo 'selected="selected'; ?>>--Service Qualité--</option>
	<option value ="20" <?php if( $option == 20 ) echo 'selected="selected'; ?>>--Comité d'entreprise--</option>
	<option value ="21" <?php if( $option == 21 ) echo 'selected="selected'; ?>>--Commercialisation--</option>
	<option value ="22" <?php if( $option == 22 ) echo 'selected="selected'; ?>>--Vignes--</option>
	<option value ="23" <?php if( $option == 23 ) echo 'selected="selected'; ?>>--Relations Adhérents--</option>
	<option value ="26" <?php if( $option == 26 ) echo 'selected="selected'; ?>>--Administratifs Terrain--</option>
	</select>
	<input type=submit value="Validez" name="valide"></center>
</form><br><br>

<?php
//Connection Mysql
mysql_connect("*","*","*")or die("Problème avec la base de données");
mysql_select_db("*")or die ("pas de connection");

//recup des variables
$date=$_POST['date'];
$groupe=$_POST['groupe'];

 $reponse = mysql_query("SELECT jom15_jstats_pages.page_title, COUNT(*)
FROM jom15_jstats_impressions
INNER JOIN jom15_jstats_visits ON jom15_jstats_visits.visit_id = jom15_jstats_impressions.visit_id
INNER JOIN jom15_jstats_pages ON jom15_jstats_impressions.page_id = jom15_jstats_pages.page_id
INNER JOIN jom15_gm_membre ON jom15_gm_membre.id_membre = jom15_jstats_visits.joomla_userid
WHERE jom15_jstats_visits.visit_date = '$date' AND jom15_gm_membre.id_groupe  = '$groupe' GROUP BY jom15_jstats_pages.page_id ORDER BY COUNT(*) DESC"); // Requête SQL



// On fait une boucle pour lister tout ce que contient la table :
//***********************************************************************************************************************
if ($reponse)
{
//*************************************************************************************************************************
while ($donnees = mysql_fetch_array($reponse))

{

?>

  <tr>
  
	<td><center><font face="tahoma" size="2"><?php echo $donnees['0']; ?></font></center></td>
	<td><center><font face="tahoma" size="2"><?php echo $donnees['1']; ?></font></center></td>
	
   </tr>


<?php

}



//mysql_close(); // Déconnexion de MySQL
//****************************************************************************************************
}
else
{
echo 'Pas de champs!!!';
}
//****************************************************************************************************
?>
</table></center>
<br><br>
</body></html>
Merci encore pour ton aide.

Amicalement

Re: Garder les données après affichage de la reponse du formulai

par xTG » 17 mars 2011, 13:47

Voilà le principe :
<?php
$option = (isSet($_POST['option'])) ? $_POST['option'] : 0; // récupération de la valeur, si elle n'existe pas on lui attribue 0
?>
<form action="#" method="POST">
<select name="option">
  <option value="1" <?php if( $option == 1 ) echo 'selected="selected'; ?>>Valeur 1</option>
  <option value="2" <?php if( $option == 2 ) echo 'selected="selected'; ?>>Valeur 2</option>
  <option value="3" <?php if( $option == 3 ) echo 'selected="selected'; ?>>Valeur 3</option>
  <option value="4" <?php if( $option == 4 ) echo 'selected="selected'; ?>>Valeur 4</option>
</select>
....

Garder les données après affichage de la reponse du formulai

par steph70 » 17 mars 2011, 13:43

Bonjour,

J'ai une page php qui me permet d'afficher une liste par rapport à une date et a un groupe.

Elle fonctionne mais je voudrais que les données du formulaire reste positionné après l'affichage de la liste sur les données saisies par l'utilisateur.

Est ce possible et comment faire ?

Voici mon code :
<html lang="fr"><head><meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type"></head>
<body>
<basefont face="Tahoma" size="2"> 
<br>
<center><h3><span style="color: rgb(92, 168, 10);"><i><u>Pages visitées Date Choisie</u><br>Groupe Choisit</i></span></h3></center>
<center><table width="300" border="1" cellspacing="0" cellpadding="0">

  <tr>
	<td width="5"><font face="tahoma" size="2"><span style="color: rgb(92, 168, 10);"><div align="center">Nom de la page</div><span></font></td>
  
	<td width="5"><font face="tahoma" size="2"><span style="color: rgb(92, 168, 10);"><div align="center">Visites</div><span></font></td>
	
 </tr>
<br>
<center><form method="post">
	<span style="color: rgb(92, 168, 10);"><label>Date format AAAA-MM-JJ: </label></span><input name="date" type="text" value="201">
	<select name="groupe">
	<option value ="6">--Adh. PV--</option>
	<option value ="8">--Adh. PA--</option>
	<option value ="9">--Adh. Vigne--</option>
	<option value ="11">--Direction--</option>
	<option value ="12">--Tech. PV--</option>
	<option value ="13">--Tech. PA--</option>
	<option value ="14">--Personnels Silo--</option>
	<option value ="15">--Resp. Service--</option>
	<option value ="16">--Personnels Administratif--</option>
	<option value ="17">--Conseil d'Administration--</option>
	<option value ="18">--Test--</option>
	<option value ="24">--Salariés--</option>
	<option value ="19">--Service Qualité--</option>
	<option value ="20">--Comité d'entreprise--</option>
	<option value ="21">--Commercialisation--</option>
	<option value ="22">--Vignes--</option>
	<option value ="23">--Relations Adhérents--</option>
	<option value ="26">--Administratifs Terrain--</option>
	</select>
	<input type=submit value="Validez" name="valide"></center>
</form><br><br>

<?php
//Connection Mysql
mysql_connect("*","*","*")or die("Problème avec la base de données");
mysql_select_db("*")or die ("pas de connection");

//recup des variables
$date=$_POST['date'];
$groupe=$_POST['groupe'];

 $reponse = mysql_query("SELECT jom15_jstats_pages.page_title, COUNT(*)
FROM jom15_jstats_impressions
INNER JOIN jom15_jstats_visits ON jom15_jstats_visits.visit_id = jom15_jstats_impressions.visit_id
INNER JOIN jom15_jstats_pages ON jom15_jstats_impressions.page_id = jom15_jstats_pages.page_id
INNER JOIN jom15_gm_membre ON jom15_gm_membre.id_membre = jom15_jstats_visits.joomla_userid
WHERE jom15_jstats_visits.visit_date = '$date' AND jom15_gm_membre.id_groupe  = '$groupe' GROUP BY jom15_jstats_pages.page_id ORDER BY COUNT(*) DESC"); // Requête SQL



// On fait une boucle pour lister tout ce que contient la table :
//***********************************************************************************************************************
if ($reponse)
{
//*************************************************************************************************************************
while ($donnees = mysql_fetch_array($reponse))

{

?>

  <tr>
  
	<td><center><font face="tahoma" size="2"><?php echo $donnees['0']; ?></font></center></td>
	<td><center><font face="tahoma" size="2"><?php echo $donnees['1']; ?></font></center></td>
	
   </tr>


<?php

}



//mysql_close(); // Déconnexion de MySQL
//****************************************************************************************************
}
else
{
echo 'Pas de champs!!!';
}
//****************************************************************************************************
?>
</table></center>
<br><br>
</body></html>
Merci pour votre aide.

Amicalement