Probleme de refresh de page

VaN
Mammouth du PHP | 1107 Messages

11 juil. 2005, 10:32

D'abord, bonjour tlm, ça faisait quelques jours que j'etais pas passé.

Donc, j'ai un probleme de refresh sur une page. J'utilise un script qui pemet de créer un diagramme en baton, à partir de donées extraites d'une bdd. Mais quand je refresh la page pour changer les valeur que le diagramme va utiliser , il ne les prend pas en compte, alors que l'id dans l'url lui a changer. Et il faut que je refresh (F5) une deuxieme fois la page pour que le diagramme soit modifié.

Le probleme en live : http://vanwork.nuxit.net/goodgame/extra ... .php?cat=4

essayez un choix dans le select, et soumettez le formulaire, rien ne se passe, mais l'id est bien present dans l'url. faites un refresh de la page, et la, le diagramme a changé.

Comment cela se fait'il ?

je me demande si ça ne pourrait pas etre un probleme lié au script lui meme, plutot qu'une erreur de code : /

le code d'ailleurs :
<?php
/////////////////////////
			// PARTIE MARKET STUDY //
			/////////////////////////
			elseif($cat==4)
			{
			 	if($_SESSION['access']==2) 
				{
					echo ("<font class=\"texte-bienvenue\">Les informations contenues sur cette page sont réservées à nos partenaires.</font>");
				}
				else
				{
				
					include ("connexion.php");
					echo "<center>";
				
					if (isset($_GET['sdg']) && $_GET['sdg']!='default') 
					{
						$id = $_GET['sdg'];
						$sql_Q = "SELECT * FROM sondages WHERE sdg_id='$id' AND sdg_type='Q'";
						$query_Q = mysql_query($sql_Q);
						$result_Q = mysql_fetch_array($query_Q);

						$sql_R = "SELECT * FROM sondages WHERE sdg_id='$id' AND sdg_type='R'";
						$query_R = mysql_query($sql_R);
						
						//////////
						////// TEST REFRESH, MARCHE PAAAAA //////
						//////////
						if (!isset($_GET['refresh'])) 
						{
							//REDIRECTION JS, 1 seconde
								
							echo "<SCRIPT LANGUAGE='JavaScript'>\n
							function redirect() {\n 
							window.location='index.php?cat=4&sdg=".$id."&refresh=y'\n 
							}\n
							setTimeout('redirect()',1000);\n
							</SCRIPT>\n";
						}
						///// FIN TEST REFRESH ////////	
						
						include("GRAPH.php");

						echo "</center>";
						//$cat = $_GET['cat'];
					
						echo "<center><a href=\"index.php?cat=4&show=all\">Afficher tous les sondages (format texte)</a></center>";
						echo"<br /><br />";
						echo "<center>";
					}
					
					elseif (!isset($_GET['sdg']) && !isset($_GET['show'])) 
					{
						$sql_seek = "SELECT MAX(sdg_id) as id FROM sondages";
						$query_seek = mysql_query($sql_seek);
						$result_seek = mysql_fetch_array($query_seek);
						$id = $result_seek['id'];

						$sql_Q = "SELECT * FROM sondages WHERE sdg_id='$id' AND sdg_type='Q'";
						$query_Q = mysql_query($sql_Q);
						$result_Q = mysql_fetch_array($query_Q);

						$sql_R = "SELECT * FROM sondages WHERE sdg_id='$id' AND sdg_type='R'";
						$query_R = mysql_query($sql_R);
						include("GRAPH.php");

						echo "</center>";
						//$cat = $_GET['cat'];
					
						echo "<center><a href=\"index.php?cat=4&show=all\">Afficher tous les sondages (format texte)</a></center>";
						echo"<br /><br />";
						echo "<center>";
					}
						
					elseif (isset($_GET['show']) && $_GET['show']=='all') 
					{	
					
						$sql_all_id = "SELECT DISTINCT sdg_id FROM sondages";
						$query_all_id = mysql_query($sql_all_id);
						while ($result_all_id = mysql_fetch_array($query_all_id)) 
						{
							$id = $result_all_id['sdg_id'];
							echo $id;
							$sql_all_R = "SELECT * FROM sondages WHERE sdg_id='$id' AND sdg_type='R'";
							$query_all_R = mysql_query($sql_all_R);
						
							$sql_all_Q = "SELECT * FROM sondages WHERE sdg_id='$id' AND sdg_type='Q'";
							$query_all_Q = mysql_query($sql_all_Q);						
						
							include ("GRAPH.php");
						
							echo "<br /><br />";
						}


					}
				
					elseif (isset($_GET['seek']) && $_GET['seek']!='') 
					{
						echo "<div class=\"seek\">";
						echo "<b>-- Search Results --</b>";
						echo"<br /><br />";
						$seek = $_GET['seek'];
						$sql_seek = "SELECT sdg_id, sdg_tit, sdg_txt FROM sondages WHERE sdg_tit LIKE '%$seek%' OR sdg_txt LIKE '%$seek%'";
						$query_seek = mysql_query($sql_seek);
						while ($result_seek = mysql_fetch_array($query_seek)) 
						{
							if ($result_seek['sdg_tit']!='') 
							{
								echo ("<a href=\"index.php?cat=4&seek=".$seek."&sdg=".$result_seek['sdg_id']."\">".$result_seek['sdg_tit']."</a><br>");
							}
						}
						echo "</div>";
					}
				?>
				
				
				<br />
				<div class="seek">
				<form action="index.php" method="get">
				<input type="hidden" name="cat" value="<?php echo $_GET['cat']; ?>" />
				<table width="500" border="0">
  				  <tr>
    				<td width="300" height="30" align="left">Effectuer une recherche sur les sondages :</td>
					<td><input type="text" name="seek" size="26" /></td>
  				  </tr>
  				  <tr>
    				<td height="30" align="left">Choisir un sondage dans la liste :</td>
    				<td>
					<select name="sdg">
					<option value="default">Sondage..</option>
					<?php
					$sql = "SELECT sdg_id, sdg_tit FROM sondages WHERE sdg_type='Q'";
					$query = mysql_query($sql);
					while ($result=mysql_fetch_array($query))
					{
					?>
					<option value="<?php echo $result['sdg_id']; ?>"><?php echo $result['sdg_tit']; ?></option>
					<?php
					}
					?>
					</select>
					</td>
  				  </tr>
  				  <tr>
    				<td height="30">&nbsp;</td>
    				<td align="right"><input type="submit" name="sub" value="Submit" />&nbsp;</td>
  				  </tr>
				</table>
				</form>
				</div>
				</center>
				<?php
				}
			}
			//////////////////////
			// FIN MARKET STUDY //
			//////////////////////
?>

VaN
Mammouth du PHP | 1107 Messages

11 juil. 2005, 11:50

ou alors c'est peut etre juste un probleme de fichiers temporaires ? quelqu'un a une opinion sur le probleme ?

VaN
Mammouth du PHP | 1107 Messages

11 juil. 2005, 15:11

une aide serait vraiment la bienvenue, il ne me reste plus que ce probleme à regler pour avoir fini l'extranet sur lequel je travaille.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

11 juil. 2005, 15:16

Je suis sûr que le problème ne vient pas du script parce que chez moi avec FF 1.0.4 sur un windows NT SP4, ça marche niquel

choix du sondage + submit => modification du graph

EDIT ---

Effectivement, ça ne marche pas ... sous IE :evil:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

VaN
Mammouth du PHP | 1107 Messages

11 juil. 2005, 15:29

effectivement ça marche nickel sous mozilla.. comment ça se fait ça ? je pensais que les differences entre IE et mozilla etaient des difference d'interpretation de code html, alors que la il semble que cela soit le php et le sql qui pose pb non ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

11 juil. 2005, 15:31

non, c'est un problème de html

l'explorateur ne voit jamais de php ou de sql puisque c'est sur le serveur

Mais de quel problème est ce qu'il s'agit ? peut être le formulaire ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

VaN
Mammouth du PHP | 1107 Messages

11 juil. 2005, 15:36

bin le form m'a l'air tout ce qu'il y'a de plus normal :

Code : Tout sélectionner

<form action="index.php" method="get"> <input type="hidden" name="cat" value="<?php echo $_GET['cat']; ?>" /> <table width="500" border="0"> <tr> <td width="300" height="30" align="left">Effectuer une recherche sur les sondages :</td> <td><input type="text" name="seek" size="26" /></td> </tr> <tr> <td height="30" align="left">Choisir un sondage dans la liste :</td> <td> <select name="sdg"> <option value="default">Sondage..</option> <?php $sql = "SELECT sdg_id, sdg_tit FROM sondages WHERE sdg_type='Q'"; $query = mysql_query($sql); while ($result=mysql_fetch_array($query)) { ?> <option value="<?php echo $result['sdg_id']; ?>"><?php echo $result['sdg_tit']; ?></option> <?php } ?> </select> </td> </tr> <tr> <td height="30">&nbsp;</td> <td align="right"><input type="submit" name="sub" value="Submit" />&nbsp;</td> </tr> </table> </form>
ce genre de formulaire ne m'a jamais poser de probleme auparavant.

VaN
Mammouth du PHP | 1107 Messages

11 juil. 2005, 16:27

un autre pb du meme genre je suppose, quand on clic sur le lien en dessous du diagramme, pour 'afficher tous les diagrammes', il ne prend n'affiche qu'un diagramme, en plusieur exemplaire, au lieu de recup toutes les lignes de la bdd. pourtant ma boucle est bonne
if (isset($_GET['show']) && $_GET['show']=='all')
{
	while ($result_all_R = mysql_fetch_array($query_all_R)) 
	{
		$Data[$i] = $result_all_R["sdg_resultat"];
		$Values[$i] = $result_all_R["sdg_txt"];
		$i=$i+1;
	}
}
else
	{
	while ($result_R = mysql_fetch_array($query_R)) 
	{
		$Data[$i] = $result_R["sdg_resultat"];
		$Values[$i] = $result_R["sdg_txt"];
		$i=$i+1;
	}

}

VaN
Mammouth du PHP | 1107 Messages

12 juil. 2005, 09:51

^^