Php MySQL et FireFox

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 : Php MySQL et FireFox

par fab » 28 févr. 2006, 01:36

tu passes peut être ces données via des formulaires non conformes ou avec des bizzareries que seul IE peut comprendre.
Je rejoin ce que dis Cyrano le naviguateur n'a aucune influence sur l'éxécution du code php et heuresement !!!!!!

par zouetchou » 28 févr. 2006, 01:12

C'était moi ci-dessus ...

par Invité » 28 févr. 2006, 01:10

SI sauf que lorsque je vérifie la valeur stockée dans la bdd par PhpMyadmin ce n'est pas la bonne.

Pour faire simple:

Je crée un id temporaire, $Idtemp = 'toto';

Le script met l'enregistrement 'id_temp' à jour dans la bdd.
Je vérifie alors la valeur stockée avec PhpMyadmin.
Surprise la valeur stockée est 'titi';

Je crée alors une requete pour voir le résultat via le script.
Je fais un echo du mysql_resut($requete3,0,'id_temp');
Surprise le résultat donne 'toto' !

Mon problème est qu'un autre script utilisant $Idtemp donc 'toto' pour identifier le document en question ne trouve rien vu que la valeur stockée est 'tata'.

heu... suis-je clair ?

Je

par Cyrano » 28 févr. 2006, 00:50

le echo du mysql_result() me retourne la valeur crée avant l'enregistrement dans la bdd.
Ce n'est pas le but recherché ? :-k

par zouetchou » 28 févr. 2006, 00:40

Cela fonctionne une fois en passant :? ... Et encore en passant vite :D

par zouetchou » 28 févr. 2006, 00:31

Vu que la valeur stockée est différente je suis passé par une requete suplémentaire pour extraire et ainsi contrôler la valeur stockée dans la bdd.
			while($enr1 = mysql_fetch_array($requete1))
			{
				echo '<br>';
				$ref = $enr1[0];
				
				// Création d'un Id 
				$ID = '';
				$Idtemp ='';
				
				$taille  = 20;
				$lettres = $ref.'AZERTYUIOPMLKJHGFDSQWXCVBN0123456789'.$ref;
				srand(time());
				for ($i=0;$i<$taille;$i++)
				{
					$ID.=substr($lettres,(rand()%(strlen($lettres))),1);
				}	
				
				$Idtemp = $ID;
				
				$where  = 'ref_document="'.$ref.'"';
				echo $chps = 'id_temp="'.$Idtemp.'"';				
				$requete2= mysql_db_query($sql_bdd,'UPDATE '.$table.' SET '.$chps.' WHERE '.$where, $db_link) or die(mysql_error());
		
				$select = 'id_temp, libelle, format, poids';
					
				$requete3	= mysql_db_query($sql_bdd,'SELECT '.$select.' FROM '.$table.' WHERE '.$where,$db_link) or die(mysql_error());
				$num3		= mysql_num_rows($requete3);
				if($num3 == 1)
				{
					echo $Idtemp = mysql_result($requete3,0,'id_temp');
				}				
			}
:twisted: :twisted: :twisted: le echo du mysql_result() me retourne la valeur crée avant l'enregistrement dans la bdd.



Je ne comprend plus rien :shock: :cry: :cry: :cry:

par Cyrano » 28 févr. 2006, 00:31

Je ne l'explique pas :-k Techniquement, ça ne peut pas avoir d'influence: le navigateur, c'est coté client. Or l'identifiant est généré exclusivement en PHP coté serveur : je ne crois pas avoir vu que tu utilisais des données en provenance du navigateur dans ton code ?

par zouetchou » 28 févr. 2006, 00:20

Comment expliquer que je n'est AUCUN problème avec IE alors :? :?:

par Cyrano » 28 févr. 2006, 00:10

Le navigateur ne peut pas influencer l'interprétation du PHP qui se passe coté serveur, l'erreur est donc ailleurs.

par zouetchou » 28 févr. 2006, 00:08

:tir2:

Php MySQL et FireFox

par zouetchou » 27 févr. 2006, 23:54

Salut à tous!

Je ne savais pas trop ou poser ma question donc voilà.

Je rencontre un problème sous FF lors de l'interprétation d'une requete SQL.
			while($enr1 = mysql_fetch_array($requete1))
			{
				// Création d'un Id
				$ID = '';
				$taille  = 20;
				$lettres = $enr1[0].time().$enr1[0];
				srand(time());
				for ($i=0;$i<$taille;$i++)
				{
					$ID.=substr($lettres,(rand()%(strlen($lettres))),1);
				}	
				
				$where  = 'ref_document="'.$enr1[0].'"';
				$chps = 'id_temp="'.$ID.'"';
				$requete2= mysql_db_query($sql_bdd,'UPDATE '.$table.' SET '.$chps.' WHERE '.$where, $db_link) or die(mysql_error());
         }
Lorsque je compare un echo $ID et la valeur réelle enregistrée dans la Bdd ce n'est pas les mêmes valeurs.
EX: Pour un $ID = 86661108467661409611 j'ai dans la bdd une valeur stockée = 19716686664164710611 :shock:

Avec IE tout fonctionne parfaitement bien. Je ne comprend pas :evil:

PS: Un forum sur les problèmes pouvant être rencontrés en fonction des navigateurs serait peut être une idée.