Problème enregistrement d'entrée dans BDD (rapide a résourdre) - PHP - Programmation
Marsh Posté le 28-03-2006 à 18:21:21
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>
Marsh Posté le 28-03-2006 à 18:47:24
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 """
Code :
|
//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.
Marsh Posté le 28-03-2006 à 18:56:40
protoss_tth a écrit : Salut, |
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
Marsh Posté le 28-03-2006 à 19:15:23
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.++
Marsh Posté le 28-03-2006 à 18:18:58
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 :
Savez vous d'où cela viendrait?
Merci encore