Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2738 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  POST d'une variable définie dans un formulaire pr insertion ds BD

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

POST d'une variable définie dans un formulaire pr insertion ds BD

n°1376473
snp
quand on sait pas, on se tait
Posté le 29-05-2006 à 10:37:24  profilanswer
 

Bonjour, je débute en PHP et là je bloque sur un POST.
mon formulaire fait réference a un numero démarrant à 5800 dans ma base access.
je le recupère et lui attribue +1 (je ne sais pas mettre un auto_increment sur ma table en partant depuis autre chose que 0) pour l'afficher dans mon formulaire (echo $devis_calcule). Ensuite je voudrais le traiter et l'inserer dans ma base access.
j'ai donc :

Code :
  1. echo "Nouveau numéro de devis généré : D";
  2. $query="SELECT MAX(num_devis) +1 FROM devis";     // requete de selection d'une table
  3. $valeur= odbc_exec( $cnx, $query );               // execute la requete
  4. while( odbc_fetch_row( $valeur ) ) //tant que c pas la fin de la table
  5. $devis_calcule = odbc_result( $valeur, 1 );
  6. //{
  7.    //echo odbc_result( $valeur, 1 );
  8.    echo $devis_calcule;


 
Voici mon fichier add_devis.php qui me plante :

Code :
  1. //DONNEES RECUPEREES de formulaire_add_devis.php
  2. $devis=$_POST['$devis_calcule'];
  3. $designation=$_POST['designation'];
  4. $client=$_POST['client'];
  5. $filiale=$_POST['filiale'];
  6. $createur=$_POST['utilisateurs'];
  7. require ('include/connexion_base.php');
  8. $cnx = odbc_connect( $bd , $user, $password );
  9. if (!$cnx) echo "Impossible de se connecter à la base devis, veuillez contacter l'administrateur";
  10. $today = date (" j m Y" );
  11. $query  = "INSERT INTO devis (num_devis,designation,date,client,filiale,etude)";
  12. $query .= "VALUES ('$devis','$designation','$today','$client','$filiale','$createur') ";
  13. $result = odbc_do ($cnx,$query);
  14. if (!$result)
  15. echo "Ajout impossible";
  16. else
  17. echo "Ajout acceptée";
  18. odbc_close( $cnx);


 
Comme je le disais en intro je débute et je ne vois vraiment pas ou est le pb !
Quelqu'un peut-il me venir en aide urgemment SVP ??
Merci d'avance !!

mood
Publicité
Posté le 29-05-2006 à 10:37:24  profilanswer
 

n°1376478
boulax
Inserer phrase hype en anglais
Posté le 29-05-2006 à 10:40:22  profilanswer
 

et ça plante où ? quand ? comment ?


---------------
Posté depuis des chiottes, sales. Me gusta.
n°1376480
cvex
$CveX
Posté le 29-05-2006 à 10:42:07  profilanswer
 

Je ne comprends pas bien, c'est quoi le problème exactement?
 
Tu veux insérer des nouvelles données aprés le numéro 5800?

n°1376488
snp
quand on sait pas, on se tait
Posté le 29-05-2006 à 10:47:40  profilanswer
 

Pardon si je me suis mal exprimé :
quand je valide mon formulaire, j'ai ces messages d'erreurs :
 
"Notice: Undefined index: $devis_calcule in add_devis.php on line 13
 
Warning: odbc_do(): SQL error: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe dans l'instruction INSERT INTO., SQL state 37000 in SQLExecDirect in add_devis.php on line 29
Ajout impossible"

n°1376492
boulax
Inserer phrase hype en anglais
Posté le 29-05-2006 à 10:49:17  profilanswer
 

$devis=$_POST['$devis_calcule'];  :sarcastic:
 
 


---------------
Posté depuis des chiottes, sales. Me gusta.
n°1376497
snp
quand on sait pas, on se tait
Posté le 29-05-2006 à 10:53:31  profilanswer
 

merci pour la reponse boulax
 
chuis pas tres bon je sais mais là !
si tu regardes mon formulaire, je fais un echo de cette variable et c'est cette variable que je veux traiter.
en elevant le $ j'obtins ce message (logique) :
Notice: Undefined index: devis_calcule in add_devis.php on line 13


Message édité par snp le 29-05-2006 à 10:53:54
n°1376503
sielfried
Posté le 29-05-2006 à 10:54:58  profilanswer
 

Fais voir le formulaire.

Message cité 1 fois
Message édité par sielfried le 29-05-2006 à 10:57:30

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1376507
boulax
Inserer phrase hype en anglais
Posté le 29-05-2006 à 10:56:10  profilanswer
 

t'as pas l'air de comprendre comment fonctionne un formulaire hein ?
 
$_POST['var'] suppose que dans ta page appelante tu as un formulaire en mode POST deja, et qu'ensuite tu aies un input dont le name='var' ce que manifestement n'est pas le cas chez toi.


---------------
Posté depuis des chiottes, sales. Me gusta.
n°1376512
snp
quand on sait pas, on se tait
Posté le 29-05-2006 à 10:58:34  profilanswer
 

sielfried a écrit :

Fait voir le formulaire.


 
le formulaire est cité plus haut, le voila en complet :
 

Code :
  1. <body>
  2. <?php
  3.  include('include/Banque.php');
  4.  $banque = new Banque;
  5. ?>
  6. <form method="POST" action="add_devis.php">
  7. <center>
  8. <!--------------------En tête----------------------->
  9. <hr />
  10. <span class="IntraBE3">NOUVEAU DEVIS</span>
  11. <hr />
  12. <!--------------------Fin de l'en tête----------------------->
  13.   <!--------------------Numero de devis récupéré de berennes.mdb/devis/num_devis----------------------->
  14.  
  15.   <br />
  16.   <br />
  17.   <br />
  18.   <u>
  19.   <span class="IntraBE2">
  20.   <?php
  21.  
  22.  
  23.   include('include/connexion_base.php');
  24. echo "Nouveau numéro de devis généré : D";
  25. $query="SELECT MAX(num_devis) +1 FROM devis";     // requete de selection d'une table
  26. $valeur= odbc_exec( $cnx, $query );               // execute la requete
  27. while( odbc_fetch_row( $valeur ) ) //tant que c pas la fin de la table
  28. $devis_calcule = odbc_result( $valeur, 1 );
  29. //{
  30.    //echo odbc_result( $valeur, 1 );
  31.    echo $devis_calcule;
  32.  
  33.    //}
  34.  
  35.     ?>
  36.   </span>  </u>
  37.  
  38.   <br />
  39.   <br />
  40.     <span class="IntraBE2">Désignation :</span>
  41.     <input type="text" name="designation" >
  42.     <br />
  43.     <span class="IntraBE2">Client :</span>
  44.   <input type="text" name="client" >
  45.   <br />
  46.    
  47.    
  48.    
  49.   <!--------------------Filiale----------------------->
  50.     <span class="IntraBE2">Filiale :</span>
  51.   <?php
  52.  
  53. $tabResultat = $banque->Filiale();
  54. print("<select name='filiale'>\n" );
  55. for($i=0; $i<sizeof($tabResultat); $i++){
  56.  print("<option value='".$tabResultat[$i][1]."'>".$tabResultat[$i][2]."</option>\n" );
  57. }
  58. print("</select><br />\n" );
  59. ?>
  60.    
  61.     <br />
  62.    
  63.    
  64.    
  65.       <!--------------------Créateur du devis------------------------>
  66.    
  67.       <span class="IntraBE2">Par :</span>
  68.   <?php
  69.   include('include/user.php');
  70.  $user = new user;
  71.    
  72.     $tabResultat_user = $user->utilisateurs();
  73. print("<select name='utilisateurs'>\n" );
  74. for($i=0; $i<sizeof($tabResultat_user); $i++){
  75.  print("<option value='".$tabResultat_user[$i][1]."'>".$tabResultat_user[$i][2]."</option>\n" );
  76. }
  77. print("</select><br />\n" );
  78. ?>
  79.   </p>
  80.   <p>
  81.     <input type="submit" class="IntraBE2" value="Enregistrer" >
  82.     <INPUT TYPE="reset" class="IntraBE2" VALUE="Reset">
  83.     </p>
  84. </center>
  85. </form>
  86. </body>


 
Et on ne se moque pas SVP !

n°1376517
boulax
Inserer phrase hype en anglais
Posté le 29-05-2006 à 11:01:13  profilanswer
 

boulax a écrit :

t'as pas l'air de comprendre comment fonctionne un formulaire hein ?
 
$_POST['var'] suppose que dans ta page appelante tu as un formulaire en mode POST deja, et qu'ensuite tu aies un input dont le name='var' ce que manifestement n'est pas le cas chez toi.



---------------
Posté depuis des chiottes, sales. Me gusta.
mood
Publicité
Posté le 29-05-2006 à 11:01:13  profilanswer
 

n°1376521
snp
quand on sait pas, on se tait
Posté le 29-05-2006 à 11:04:30  profilanswer
 

je comprends pas trop ce que tu veux dire boulax...

n°1376523
boulax
Inserer phrase hype en anglais
Posté le 29-05-2006 à 11:05:49  profilanswer
 

[:pingouino]


---------------
Posté depuis des chiottes, sales. Me gusta.
n°1376525
snp
quand on sait pas, on se tait
Posté le 29-05-2006 à 11:07:59  profilanswer
 

oui boulax, je suis un boulet....sorry

n°1376540
boulax
Inserer phrase hype en anglais
Posté le 29-05-2006 à 11:21:54  profilanswer
 

Et si je te chies dessus tu ouvres grand la bouche en criant "encore ! encore !" ??? [:roane]


---------------
Posté depuis des chiottes, sales. Me gusta.
n°1376546
snp
quand on sait pas, on se tait
Posté le 29-05-2006 à 11:29:57  profilanswer
 

la reflexion de tout a l'heure etait pour moi. pour le dire simplement le boulet c moi. Je sais pas si c ça qui t'a vexé mais fo te calmer

n°1376557
boulax
Inserer phrase hype en anglais
Posté le 29-05-2006 à 11:35:39  profilanswer
 

décidemment tu comprends rien [:psychokwak]


---------------
Posté depuis des chiottes, sales. Me gusta.
n°1376563
snp
quand on sait pas, on se tait
Posté le 29-05-2006 à 11:40:26  profilanswer
 

je suis vraiment DEBUTANT !
tt a l'heure :
"je comprends pas trop ce que tu veux dire boulax... "
et toi en guise d'explications/precisions :
"smiley"
"insulte"
"décidemment tu comprends rien"
 
je vois pas ce que je peux comprendre à tes reponses (même avec un DESS Informatique, option Ingénierie informatique en cours d'obtention).


Message édité par snp le 29-05-2006 à 11:42:13
n°1376564
snp
quand on sait pas, on se tait
Posté le 29-05-2006 à 11:41:13  profilanswer
 

Bref, quelqu'un a-t-il une piste a m'indiquer SVP ?

n°1376569
boulax
Inserer phrase hype en anglais
Posté le 29-05-2006 à 11:47:17  profilanswer
 

Ptin t'es en dess info et tu sais pas faire un formulaire HTML ? [:mlc]  
On t'as pas appris à lire non plus ? (Je demande parce que ma réponse est pourtant assez claire sur ton erreur)
 
Je précise aussi que ma reflexion de tout à l'heure visait à confirmer le fait que tu es un assisté sans grande estime de toi, vu que tu préfères passer pour un boulet et qu'on te donne une réponse toute faite plutot que de te bouger le cul pour acquérir des bases que, étant en dess, tu devrais maitriser depuis deja 2 ans au moins.
 
Encore une fois, la réponse a été donné, et plutot que de dire "je comprends pas" dire ce que tu ne comprends pas précisément, ça montrerait qu'au moins tu cherches à réflechir  vaguement.


Message édité par boulax le 29-05-2006 à 11:49:03

---------------
Posté depuis des chiottes, sales. Me gusta.
n°1376573
snp
quand on sait pas, on se tait
Posté le 29-05-2006 à 11:55:37  profilanswer
 

je sais pas si il s'agit d'un pb de communication entre toi et moi ou si l'un de nous deux ne sais pas lire....
je ne suis pas en DESS mais je trouve que pr qq'1 (toi) qui y est, tu as une drole de façon de t'expliquer....
laisse tomber mais je trouve ça naze de devoir se prendre la tete sur un forum d'entre aide. Je galere assez tout seul ds mon coin pr comprendre comment marche le PHP et désolé mais je n'en connait pas encore ttes les subtilités de ce langage.
laisse tomber boulax, j'espere que quelqu'un de plus aimable et surtout plus compréhensif me filera un coup de main.

n°1376578
boulax
Inserer phrase hype en anglais
Posté le 29-05-2006 à 12:00:33  profilanswer
 

Ah je me disais aussi [:moule_bite]
 
Bah ce qu'il te manque c'est un truc genre
 
<input type="hidden" name="devis_calcul" value="<? $devis_calcul?>" />
 
dans ton formulaire.
 


---------------
Posté depuis des chiottes, sales. Me gusta.
n°1376667
snp
quand on sait pas, on se tait
Posté le 29-05-2006 à 13:57:26  profilanswer
 

Merci boulax pour l'info. en effet je n'avais pas pensé à cette fonction. ça marche presque maintenant sauf que j'ai un nouveau msg d'erreur "Warning: odbc_do(): SQL error: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe dans l'instruction INSERT INTO., SQL state 37000 in SQLExecDirect in add_devis.php on line 29".
Pourtant ma connexion ODBC est bonne et j'ai pas l'impression que ma syntaxe soit mauvaise.
une idée ?

n°1376743
boulax
Inserer phrase hype en anglais
Posté le 29-05-2006 à 15:32:18  profilanswer
 

Manque un espace avant VALUES ....
Ce genre d'erreur se voit tout de suite si tu debug un minimum par toi meme, genre en afficheant la requete qui a merdé...


---------------
Posté depuis des chiottes, sales. Me gusta.
n°1378183
snp
quand on sait pas, on se tait
Posté le 31-05-2006 à 15:13:42  profilanswer
 

je reviens a la charge (je sais je suis un gros lourd) mais franchement, j'y comprends rien ! Je ne vois pas d'ou viennent mes erreurs.
voici donc mon code :
formulaire_add_devis.php

Code :
  1. <?php
  2.  
  3.  
  4.   include('../../include/connexion_base.php');
  5. //echo "Nouveau numéro de devis généré : D";
  6. $query="SELECT MAX(num_devis) +1 FROM devis";     // requete de selection d'une table
  7. $valeur= odbc_exec( $cnx, $query );               // execute la requete
  8. while( odbc_fetch_row( $valeur ) ) //tant que c pas la fin de la table
  9. $devis_calcule = odbc_result( $valeur, 1 );
  10. <input type="hidden" name="devis_calcule" value="<?php echo $devis_calcule" />;
  11. echo 'Nouveau numéro de devis généré : D'.$devis_calcule;
  12.     ?>


 
add_devis.php

Code :
  1. <?php
  2. //DONNEES RECUPEREES de formulaire_add_devis.php
  3. $devis=$_POST['devis_calcule'];
  4. $designation=$_POST['designation'];
  5. $client=$_POST['client'];
  6. $filiale=$_POST['filiale'];
  7. $createur=$_POST['utilisateurs'];
  8. $today = date (" j/m/Y" );
  9. require ('../../include/connexion_base.php');
  10. $query = 'INSERT INTO devis (num_devis,designation,date,client,filiale,etude)';
  11. $query .= "VALUES ('$devis','$designation','$today','$client','$filiale','$createur')";
  12. $result = odbc_do ($cnx, $query);
  13. if (!$result)
  14. echo "Ajout impossible.$today";
  15. else
  16. echo "Ajout acceptée";
  17. odbc_close( $cnx);
  18. ?>


 
Me renvoie les erreurs : Notice: Undefined index: devis_calcule in add_devis.php on line 13
 
Warning: odbc_do(): SQL error: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe dans l'instruction INSERT INTO., SQL state 37000 in SQLExecDirect in add_devis.php on line 27
Ajout impossible. 31/05/2006


Message édité par snp le 31-05-2006 à 15:46:20
n°1378356
mIRROR
Chevreuillobolchévik
Posté le 31-05-2006 à 18:41:56  profilanswer
 

si j ai bien compris ton devis généré c est juste l index de ta table ?
ca se remplit tout seul pourquoi tu te prends la tete avec une requete inutile ?
 
enfin bon je connais pas odbc mais j imagine que ca doit exister quand meme :sweat:

n°1378561
snp
quand on sait pas, on se tait
Posté le 01-06-2006 à 09:08:11  profilanswer
 

mIRROR a écrit :

si j ai bien compris ton devis généré c est juste l index de ta table ?
ca se remplit tout seul pourquoi tu te prends la tete avec une requete inutile ?
 
enfin bon je connais pas odbc mais j imagine que ca doit exister quand meme :sweat:


 
le pb c que mon n° de devis ne démarre pas de 0. Or, a moins que je dise une erreure, il n'est pas possible de faire un numero_auto avec autre chose qu'en commençant par 0.

n°1378567
snp
quand on sait pas, on se tait
Posté le 01-06-2006 à 09:24:50  profilanswer
 

je viens de trouver ça en fait :
http://www.info-3000.com/access/nu [...] equeun.php
 
tres interessant !

n°1378583
snp
quand on sait pas, on se tait
Posté le 01-06-2006 à 09:35:46  profilanswer
 

OK, ça marche mais g toujours ce fichu message d'erreur :
 
Warning: odbc_do(): SQL error: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe dans l'instruction INSERT INTO., SQL state 37000 in SQLExecDirect in add_devis.php on line 27
 
c'est pas une erreure de syntaxe quand même !!! je vois pas !

n°1378594
snp
quand on sait pas, on se tait
Posté le 01-06-2006 à 09:42:21  profilanswer
 

resolu
Enfait le problème venait du fait que j'ai utilise un nom de champ dans ma table qui portait le nom "date", mot apparemment mot reservé en PHP. Je l'ai remplacé par date_creation et tout est rentré dans l'ordre !!

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  POST d'une variable définie dans un formulaire pr insertion ds BD

 

Sujets relatifs
le formulaire ne se submit apparemment pas tout le temps ?!http post var et envoie par mail
Formulaire Oracle[PERL] [CGI] Recherche a partir de données d'un formulaire
Variable macro $(toto) sous visual studio .NET 2003Porté une variable sur une autre page avec "a href" ?
Insertion scrollbarFiltre avec critere variable Excel
faire entrer dans une variable le nombre de carractere d une autreRécuperer la valeur d'une variable
Plus de sujets relatifs à : POST d'une variable définie dans un formulaire pr insertion ds BD


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR