[résolu] formulaire post php qui ne marche pas ...

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 : [résolu] formulaire post php qui ne marche pas ...

Re: formulaire post php qui ne marche pas ...

par AB » 04 oct. 2010, 18:56

J'ai édité mon message en même temps que tu postais le tiens, je le répète donc : au passage, tu devrais employer mysql_real_escape_string pour toutes tes variables et pas uniquement sur $cookie.

Ensuite prend l'habitude d'écrire tes requêtes avant de les exécuter soit :
$query = "
INSERT INTO vehicule(
                                  key 
                                  , type 
                                  , marque 
                                  , kilometrage 
                                  , immatriculation 
                                  , porte 
                               )
                             VALUES(

                                  '" .mysql_real_escape_string($cookie). "'

                                  , '" . mysql_real_escape_string($_POST["TB_type"]) . "'

                                  , '" . mysql_real_escape_string($_POST["TB_marque"]) . "'

                                  , '" . mysql_real_escape_string($_POST["TB_kilometrage"]) . "'

                                  , '" . mysql_real_escape_string($_POST["TB_immatriculation"]) . "'

                                 , '" . mysql_real_escape_string($_POST["TB_porte"]) . "'

                             )";
//echo $query;
$result = mysql_query($query) or die(mysql_error());
ça te permettra de les faire afficher (echo $query) pour voir si tout se passe bien et si besoin de les faire exécuter directement dans phpmyadmin

Re: formulaire post php qui ne marche pas ...

par staan » 04 oct. 2010, 18:45

en fait , j'avais bien un problème de boucle, une boucle else qui tournait dans le vent au lieu de ramener vers la suite du code.


Je vais finir de débugger le reste.

Merci de vos conseils ! je met le tout en résolu quand j'aurais bien terminé !

Re: formulaire post php qui ne marche pas ...

par staan » 04 oct. 2010, 18:35

justement, le code est executé juste avant ca , puisque si je met une immatriculation qui est déjà dans la bdd, il me dis qu'elle existe déjà, et avant cette condition, si l'immatriculation fait moins de 4 ou plus de 10 caractères; alors elle est refusée (en début du traitement du formulaire)

c'est au moment de rentrer les infos dans la bdd que ca coince quoi :/

Re: formulaire post php qui ne marche pas ...

par AB » 04 oct. 2010, 18:33

Mets-toi en mode debug...

Si, avec les messages d'erreurs activés, aucun message d'erreur ne s'affiche suite à ta requête, c'est soit qu'elle est exécutée correctement soit qu'on arrive pas jusqu'à la condition qui l'exécute. Donc fait afficher des echo 'condition ok' à l'intérieur de tes accolades pour voir jusqu'où le code est exécuté.

EDIT : Au passage, tu devrais employer mysql_real_escape_string pour toutes tes variables et pas uniquement sur $key

Re: formulaire post php qui ne marche pas ...

par staan » 04 oct. 2010, 18:27

Je vais matter du côté des else manquant, mais concernant le retour du mysql error, normal que j'ai rien ?!

Re: formulaire post php qui ne marche pas ...

par stealth35 » 04 oct. 2010, 18:18

bon deja je te conseil de faire 2 pages différentes , 1 pour ton formulaire et 1 pour soumettre les données, ensuite y'a beaucoup de if mais y'as pas les else qui vont avec donc ca coince a une moment et ducoup on sait pas ou :wink:

Re: formulaire post php qui ne marche pas ...

par staan » 04 oct. 2010, 18:12

Je le balance sur pastebin, y'a 180 lignes.

http://pastebin.com/6uWvAL5d

Re: formulaire post php qui ne marche pas ...

par stealth35 » 04 oct. 2010, 18:09

tu passes une condition avant ? de faire ton mysql_query ? (montre tout le code ca sera plus simple)

Re: formulaire post php qui ne marche pas ...

par staan » 04 oct. 2010, 18:07

                    {
                         
                            $result = mysql_query("
                              INSERT INTO vehicule(
                                   key
                                   , type
                                   , marque
                                   , kilometrage
                                   , immatriculation
                                   , porte
                              )
                              VALUES(
                                     '" .mysql_real_escape_string($key). "'
                                   , '" . $_POST["TB_type"] . "'
                                   , '" . $_POST["TB_marque"] . "'
                                   , '" . $_POST["TB_kilometrage"] . "'
                                   , '" . $_POST["TB_immatriculation"] . "'
                                   , '" . $_POST["TB_porte"] . "'
                              )
                         ")or die(mysql_error());
                         

Re: formulaire post php qui ne marche pas ...

par stealth35 » 04 oct. 2010, 18:05

le or die(mysql_error()) ne me renvoie rien, comme si le formulaire ne postait pas.
montre comment t'as fais :wink:

Re: formulaire post php qui ne marche pas ...

par staan » 04 oct. 2010, 18:02

le or die(mysql_error()) ne me renvoie rien, comme si le formulaire ne postait pas.

Re: formulaire post php qui ne marche pas ...

par xTG » 04 oct. 2010, 17:54

Vérifies que les erreurs sont activées dans ton php.ini
Puis ajoutes un or die(mysql_error()) à la fin de ta requête.

Après si on reviens sur ce qui devrais être fait...
Tester les valeurs contenues dans $_POST avant de les balancer ainsi dans une requête.
Protéger les variables de la requête par mysql_real_escape_string().

[résolu] formulaire post php qui ne marche pas ...

par staan » 04 oct. 2010, 17:43

 

// dois-je mettre des ` autours de key ?
 $result = mysql_query("
                              INSERT INTO vehicule(
                                    key 
                                    , type
                                    , marque
                                    , kilometrage
                                    , immatriculation
                                    , porte
                              )
                              VALUES(
                                     '" .$key. "'  
                                   , '" . $_POST["TB_type"] . "'
                                   , '" . $_POST["TB_marque"] . "'
                                   , '" . $_POST["TB_kilometrage"] . "'
                                   , '" . $_POST["TB_immatriculation"] . "'
                                   , '" . $_POST["TB_porte"] . "'
                          )
                         ");
 //variable $key definie plus haut                        
                         if(!$result)
                         {
                              $message = "Erreur d'accès à la base de données lors de la création du compte utilisateur";
                         }
                         else
                         {

LA SUITE du formulaire, etc...

Alors , je sais que mon formulaire marche, car je fais une vérif si l'entrée "immatriculation" existe pas déjà dans la table , et ca ca marche.

Par contre, impossible d'ajouter de nouvelles infos dans ma table !


J'ai aucune erreur, j'ai même pas mon retour d'erreur de connexion ou quoi. et la suite du code ne s'affiche pas (j'ai fait un print dans la boucle après le dernier else, et rien ne s'affiche)