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

  FORUM HardWare.fr
  Programmation
  PHP

  Problème enregistrement d'entrée dans BDD (rapide a résourdre)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème enregistrement d'entrée dans BDD (rapide a résourdre)

n°1333936
lagger
Posté le 28-03-2006 à 18:18:58  profilanswer
 

Bonjour,
 
J'ai une BDD a faire concernant des o/c : Voici a quoi elle ressemble : http://www.pcgaming-fr.info/bdd/
 
Cependant avec le formulaire, rien n'est ajouté a la bdd :  
 

Code :
  1. <html>
  2. <form method="post" action="http://pcgaming-fr.info/bdd/add.php">
  3. Pseudo :<br />             <input type="text" name="pseudo" /><br />
  4. Processeur     <br />            <select>
  5.                               <option value="Opteron">Opteron</option>
  6.                               <option value="A64">Athlon64</option>
  7.                               <option value="Pentium4">Pentium4</option>
  8.         <option value="Pentium M">Pentium M</option>
  9.                            </select> <br />
  10. Modèle (ex : 3200+): <br />       <input type="text" name="nom" /><br /> 
  11. Stepping :   <br />      <input type="text" name="stepping" /><br />
  12. Fréquence en mhz :   <br />             <input type="text" name="frequence" /><br />
  13. Vcore :     <br />               <input type="text" name="vcore" /><br />
  14. MaxScreen (fréquence) :<br />    <input type="text" name="maxscreen" /><br />
  15. Cooling :    <br />              <input type="text" name="cooling" /><br />
  16. URL screen (max stable):    <br />           <input type="text" name="screen" /><br /><br />
  17.    <input type="submit" value="Valider" />
  18. </form>
  19. <br />
  20. <a href="http://www.pcgaming-fr.info/bdd">Retour</a>
  21. <?php
  22. if (isset($_POST['pseudo']) AND isset($_POST['processeur']) AND isset($_POST['nom']) AND isset($_POST['stepping']) AND isset($_POST['frequence']) AND isset($_POST['vcore']) AND isset($_POST['maxscreen']) AND isset($_POST['cooling']) AND isset($_POST['screen']))
  23. {
  24.  
  25.     $pseudo = htmlentities($_POST['pseudo'], ENT_QUOTES);
  26.     $processeur = htmlentities($_POST['processeur'], ENT_QUOTES);
  27. $nom = htmlentities($_POST['nom'], ENT_QUOTES);
  28. $stepping = htmlentities($_POST['stepping'], ENT_QUOTES);
  29. $frequence = htmlentities($_POST['frequence'], ENT_QUOTES);
  30. $vcore = htmlentities($_POST['vcore'], ENT_QUOTES);
  31. $maxscreen = htmlentities($_POST['$maxscreen'], ENT_QUOTES);
  32. $cooling = htmlentities($_POST['cooling'], ENT_QUOTES);
  33. $screen = htmlentities($_POST['screen'], ENT_QUOTES);
  34. mysql_connect("" );
  35. mysql_select_db("" );
  36. $requete = "INSERT INTO amd VALUES ('', '$pseudo', '$processeur', '$nom', '$stepping', '$frequence', '$vcore', '$maxscreen', '$cooling', '$screen')";
  37. mysql_query($requete);
  38. mysql_close();
  39. }
  40. ?>
  41. <html>


 
Savez vous d'où cela viendrait?  :??:  
 
 
Merci encore  :jap:

mood
Publicité
Posté le 28-03-2006 à 18:18:58  profilanswer
 

n°1333939
lagger
Posté le 28-03-2006 à 18:21:21  profilanswer
 

Comme le forum foire apparemment, je vous envoie le code normalement :
 
<html>
<form method="post" action="http://pcgaming-fr.info/bdd/add.php">
Pseudo :<br />             <input type="text" name="pseudo" /><br />
Processeur     <br />            <select>
                              <option value="Opteron">Opteron</option>
                              <option value="A64">Athlon64</option>
                              <option value="Pentium4">Pentium4</option>
         <option value="Pentium M">Pentium M</option>
                           </select> <br />
Modèle (ex : 3200+): <br />       <input type="text" name="nom" /><br />    
Stepping :   <br />      <input type="text" name="stepping" /><br />
Fréquence en mhz :   <br />             <input type="text" name="frequence" /><br />
Vcore :     <br />               <input type="text" name="vcore" /><br />
MaxScreen (fréquence) :<br />    <input type="text" name="maxscreen" /><br />
Cooling :    <br />              <input type="text" name="cooling" /><br />
URL screen (max stable):    <br />           <input type="text" name="screen" /><br /><br />
   <input type="submit" value="Valider" />
</form>
<br />
<a href="http://www.pcgaming-fr.info/bdd">Retour</a>
 
<?php
if (isset($_POST['pseudo']) AND isset($_POST['processeur']) AND isset($_POST['nom']) AND isset($_POST['stepping']) AND isset($_POST['frequence']) AND isset($_POST['vcore']) AND isset($_POST['maxscreen']) AND isset($_POST['cooling']) AND isset($_POST['screen']))
{
   
    $pseudo = htmlentities($_POST['pseudo'], ENT_QUOTES);  
    $processeur = htmlentities($_POST['processeur'], ENT_QUOTES);  
 $nom = htmlentities($_POST['nom'], ENT_QUOTES);  
 $stepping = htmlentities($_POST['stepping'], ENT_QUOTES);  
 $frequence = htmlentities($_POST['frequence'], ENT_QUOTES);
 $vcore = htmlentities($_POST['vcore'], ENT_QUOTES);
 $maxscreen = htmlentities($_POST['$maxscreen'], ENT_QUOTES);  
 $cooling = htmlentities($_POST['cooling'], ENT_QUOTES);
 $screen = htmlentities($_POST['screen'], ENT_QUOTES);
 
 
mysql_connect("localhost", "root", "" );
mysql_select_db("" );  
 
 
$requete = "INSERT INTO amd VALUES ('', '$pseudo', '$processeur', '$nom', '$stepping', '$frequence', '$vcore', '$maxscreen', '$cooling', '$screen')";
 
mysql_query($requete);
 
mysql_close();
 
}
 
?>
<html>

n°1333962
protoss_tt​h
May the Code be with you
Posté le 28-03-2006 à 18:47:24  profilanswer
 

Salut,
 
1.pour les <input type="text" name="nom_du_champ" ne vérifie pas l'entrée des données par un "isset" mais plutot par if($_POST['nom_du_champ']!="" )
 
2.ton select processeur n'a pas de nom! <select name="processeur"><option>....
 
3. pour verifier que ta requete a bien été executée ou plutot au cas ou la requete ne fonctionnerait pas fait comme ca:
 
4. n'utilise pas le code ascii pour faire des guillemets qui sont du code! enlève moi tous ces "&#034;"
 

Code :
  1. $requete = mysql_query("INSERT INTO amd VALUES ('', '$pseudo', '$processeur', '$nom', '$stepping', '$frequence', '$vcore', '$maxscreen', '$cooling', '$screen')" );
  2. if(!requete)
  3. {
  4. echo "Probleme requete insertion de données".mysql_error();
  5. exit;
  6. }


 
 
//n'oublies pas le "exit"!
comme ca si ca foire ben de 1, tu sais pourquoi et de 2. mysql_error() te dis pourquoi!
 
je pense que ton code devrait fonctionner maintenant.

Message cité 1 fois
Message édité par protoss_tth le 28-03-2006 à 18:59:10
n°1333975
lagger
Posté le 28-03-2006 à 18:56:40  profilanswer
 

protoss_tth a écrit :

Salut,
 
1.pour les <input type="text" name="nom_du_champ" ne vérifie pas l'entrée des données par un "isset" mais plutot par if($_POST['nom_du_champ']!="" )
 
2.ton select processeur n'a pas de nom! <select name="processeur"><option>....
 
3. pour verifier que ta requete a bien été executée ou plutot au cas ou la requete ne fonctionnerait pas fait comme ca:
 
$requete = mysql_query("INSERT INTO amd VALUES ('', '$pseudo', '$processeur', '$nom', '$stepping', '$frequence', '$vcore', '$maxscreen', '$cooling', '$screen')" );
 
if(!requete)
{
echo "Probleme requete insertion de données".mysql_error();
exit;
}  
 
//n'oublies pas le "exit"!
comme ca si ca foire ben de 1, tu sais pourquoi et de 2. mysql_error() te dis pourquoi!
 
je pense que ton code devrait fonctionner maintenant.


 
Effectivement c'était bien dû au problème 2  :)  
Dans les tutos ils précisent pas toutes ces petites choses a faire qui rendent la vie plus facile donc je ne savais pas.
Sinon tu aurais un tuto sur le net pour que je m'améliore un peu? Ou meme un titre de livre  :jap:  

n°1333993
protoss_tt​h
May the Code be with you
Posté le 28-03-2006 à 19:15:23  profilanswer
 

hmm ben j'ai appris sur le tas avec plusieurs sites... en allemand et anglais mais je pense que  
- http://www.az-php.com/
-http://www.phpdebutant.org/article48.php
donnent quelques bons tuyaux. Pour les bons bouquins... je pense que les autres utilisateurs pourront t'aider.
 
Pour debugger:
 
-avec print_r($_POST) tu vois les valeurs Post envoyées.  
 
tu pourrais par exemple faire  
if(conditions d'envoi du formulaire)
{
}
else
{print_r($_POST);
}
 
 
 
T'as aussi print_r($_SESSION) pour les variables de session à disposition.
 
en ce qui me concerne je programme les formulaires comme ca:
 
 
if(conditions d'envoi du formulaire)
{
requetes sql ou autre
}
else
{
//à laisser pour debugger
print_r($_POST)  
code du formulaire
}
 
et je definis ma forme comme ca:
 
<FORM action="" .$_SERVER['PHP_SELF']."" method="POST" enctype="text/html" >
 
de cette facon ton formulaire est réouvert en cas d'envoi non correct.++


Message édité par protoss_tth le 28-03-2006 à 19:16:31

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

  Problème enregistrement d'entrée dans BDD (rapide a résourdre)

 

Sujets relatifs
Probleme de mise en page[SGBD/SQL] Oracle : PL/SQL, problème tout con
Probleme DIV scrollable dans un TableauProblème avec un onblur...
[résolu] Problème bouton / javascriptProblème de ponctuation ds un fichier texte dynamique ds flash
Problème Validation cssProbleme de cryptage de mot de passe
Probleme pour Modifier mon formulaire[resolu]Problème d'alignement
Plus de sujets relatifs à : Problème enregistrement d'entrée dans BDD (rapide a résourdre)


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)