insertion dans la base de donnée problèmatique

insertion dans la base de donnée problèmatique - PHP - Programmation

Marsh Posté le 06-10-2007 à 11:18:29    

bonjour
en fait, le problème vient d'un formulaire qui fonctionne en local
donc on envoie les données dans la base de données, quand on valide rien ne s'ajoute dans la db, mais si on raffraichit la page, là ça passe
donc comme je dis, en local (sous XP) ça fonctionne, une fois qu'on passe sur le serveur que ça soit en windows 2003 ou linux, le problème arrive
quelqu'un aurait une idée de ce que ça peut etre?
merci d'avance

Reply

Marsh Posté le 06-10-2007 à 11:18:29   

Reply

Marsh Posté le 06-10-2007 à 20:58:13    

salut, faudrait avoir un apercu du code.

Reply

Marsh Posté le 07-10-2007 à 01:12:05    

merci pour ta reponse
voici le code

Code :
  1. <?
  2. include("conf/mysql-conf.php" );
  3. if($id=="" ){$msgerror = "Votre essions est expiré!"; header("Location:off_error.php?msgerror=$msgerror" );exit;}
  4.  ### Control de l'id
  5.     $liendb = mysql_connect($host, $bdlogin, $bdpassword);
  6.     mysql_select_db ($db);
  7.     $verifid=mysql_query("SELECT * FROM $tblogin WHERE open LIKE '0' AND id = '$id'" ) or die (mysql_error());
  8.     $verifidi=mysql_num_rows($verifid);
  9.     if($verifidi=="0" ){$msgerror = "Votre essions est expiré!"; header("Location:off_error.php?msgerror=$msgerror" );exit;}
  10.  ### Fin Control de l'id
  11.  ### Update MySQL
  12.   $liendb = mysql_connect("$host", "$bdlogin", "$bdpassword" );
  13.   mysql_select_db("$db" );
  14.   $sqlupdate = "UPDATE $tblogin SET id = '$id', me_taille = '$me_taille', me_poid = '$me_poid', me_yeux = '$me_yeux', me_cheveux = '$me_cheveux', me_nationalite = '$me_nationalite', me_orethnique = '$me_orethnique', me_religiona = '$me_religiona', me_religionb = '$me_religionb', me_stmatri = '$me_stmatri', me_enfant = '$me_enfant', me_nivetude = '$me_nivetude', me_prof = '$me_prof', me_profdescri = '$me_profdescri', me_description = '$me_description' WHERE id = '$id'";
  15.   mysql_query ($sqlupdate);
  16.   mysql_close ($liendb);
  17.  ### Update MySQL
  18. ?>

Reply

Marsh Posté le 07-10-2007 à 04:15:48    

mais quand tu valides et que ca ne se rajoute pas, tu as quelque chose d'affiché sur la page?
rajoute une vérification du succés de la requete $sqlupdate.

Reply

Marsh Posté le 07-10-2007 à 12:16:04    

tuxce a écrit :

mais quand tu valides et que ca ne se rajoute pas, tu as quelque chose d'affiché sur la page?
rajoute une vérification du succés de la requete $sqlupdate.


 
Hello, je viens de faire le test il exécute bien correctement la commande et affiche aucune erreur dans le script. Mais je comprend pas pq quand je fait F5 (réactualisé la page sous ie & autre navigateur) ça passe. Ont dirais qu'il saute les lignes.
 
En local, même version de apache, mysql & php, seule différence le serveur c'est un céléron 2.6 a 256 de ram et que les machines de développement c'est du P4 a 1 go de ram minimum. Testé sur +/- 4 machines différentes et ça ne fonctionne sauf sur le dédié aprioris, j'ai aussi testé sur ip et sur domaine, on sait jamais mais idem.
 
J’ai testé aussi le serveur sous Windows 2003 & linux. Le problème se présente sur la même machine peut importe l'OS.


Message édité par tornado26 le 07-10-2007 à 14:13:28
Reply

Marsh Posté le 08-10-2007 à 13:48:23    

personne pour nous aider? :(

Reply

Marsh Posté le 08-10-2007 à 14:06:01    

c'est que tu embrouilles un peu...
tu dis qu'il exécute bien la commande (mysql_query ()?) et n'affiche aucune erreur, donc ca marche.
et juste après , tu dis qu'il saute des lignes??

 

après, je pense que tous les tests sur d'autres machines (serveur? client?) sont superflus, la seule chose à faire et de débugger le script en raoutant des echo par exemple:

Code :
  1. ### Update MySQL
  2.   $liendb = mysql_connect("$host", "$bdlogin", "$bdpassword" );
  3.   mysql_select_db("$db" );
  4.   $sqlupdate = "UPDATE $tblogin SET id = '$id', me_taille = '$me_taille', me_poid = '$me_poid', me_yeux = '$me_yeux', me_cheveux = $me_cheveux', me_nationalite = '$me_nationalite', me_orethnique = '$me_orethnique', me_religiona = '$me_religiona', me_religionb = '$me_religionb', e_stmatri = '$me_stmatri', me_enfant = '$me_enfant', me_nivetude = '$me_nivetude', me_prof = '$me_prof', me_profdescri = '$me_profdescri', me_description = '$me_description' WHERE id = '$id'";
  5. echo "<pre>Requete: $sqlupdate\n";
  6. echo "Résultat: ";
  7. mysql_query ($sqlupdate) and echo "Succés" or echo "Erreur: " . mysql_error ();
  8. echo "\n</pre>";
  9.   mysql_close ($liendb);
  10.  ### Update MySQL
  11. ?>


Message édité par tuxce le 08-10-2007 à 14:07:26
Reply

Marsh Posté le 09-10-2007 à 11:22:32    

c'est  
or die(mysql_error())

Reply

Marsh Posté le 09-10-2007 à 13:10:19    

je sais, mais vu que ca fonctionne (après un F5?) c'est peut etre pas une erreur de la requete mais seulement de mauvais paramètres.

Reply

Marsh Posté le 10-10-2007 à 05:28:16    

On pourrait peut être avoir plus de code, que tu débogues pour savoir si tu passes bien par là?

Reply

Marsh Posté le 10-10-2007 à 05:28:16   

Reply

Marsh Posté le 10-10-2007 à 13:13:22    

Ca me fait bizarre de voir des mentions de religions etc. dans une base, attention à la légalité du truc.

Reply

Marsh Posté le 10-10-2007 à 15:16:55    

C'est pour le nouveau SI des RG :o

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed