Formulaire PHP et MySQL

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 : Formulaire PHP et MySQL

Re: Formulaire PHP et MySQL

par liens_geeks » 16 déc. 2011, 17:44

Salut,
Tu peux faire un if(isset($_POST[nom_d_un_des_champs_obligatoires]))
{
//le code PHP que tu as mis dans ton 1er message
}

Tu peux tester, dans ta condition, si tes champs sont remplis avec empty() ou !empty()

Ciao
Jérôme

Re: Formulaire PHP et MySQL

par SNY77 » 16 déc. 2011, 13:27

C'est bon ça fonctionne (enfin!). Parcontre, je voudrais eviter d'avoir des erreurs lors du 1er affichage de la page (car le champs n'est pas remplis).
Je voudrais aussi vérifier que les champs sont bien remplis sauf Description_test qui est optionnel.
Merci;

Re: Formulaire PHP et MySQL

par SNY77 » 16 déc. 2011, 11:09

Lorsque je fais un echo de ma requête j'ai ça :
insert into test_table (Name_test, Number_test, Description_test, PartNumber, num_EC) values ('1', '2', '3','', '')
Comme vous le voyez, les valeurs des deux derniers champs ont disparus ! (Pourtant j'ai bien données une valeur sur le formulaire). Et sur la BDD, il n'y a aucun enrengistrements !
Et pour la commande
mysql_real_escape_string()
j'ai tout mis apres la requête :
mysql_real_escape_string($Name_test, $db);
mysql_real_escape_string($Number_test, $db);
mysql_real_escape_string($Description_test, $db);
mysql_real_escape_string($PartNumber, $db);
mysql_real_escape_string($num_EC, $db);
Merci ...

Re: Formulaire PHP et MySQL

par xTG » 16 déc. 2011, 08:18

Protèges les valeurs avec mysql_real_escape_string().
Et pour déboguer regardes ce que retourne mysql_error().

Re: Formulaire PHP et MySQL

par SNY77 » 16 déc. 2011, 00:08

Non c'est juste dans mon copier/coller.
La page s'affiche bien, quand je mets directement les valeurs des parametres de la table dans la requêtes, les enrengistrements sont dans la BDD.
Parcontre, quand je remplis le formulaire et j'appuie sur envoyer, ils ne sont pas envoyés dans la BDD.
merci.

Re: Formulaire PHP et MySQL

par Ryle » 15 déc. 2011, 23:48

Tu as un "<?" en trop, suivi d'un <?php au début de ton script... ;)

Formulaire PHP et MySQL

par SNY77 » 15 déc. 2011, 23:22

Bonjour, je dois créer un formulaire pour remplir une table dans une BDD. Les valeurs du formulaires ne s'inscrivent pas dans la BDD. Parcontre, si je mets directements les valeurs dans la requête SQL elles sont bien envoyées.
La connexion vers ma BDD fonctionne.
Merci de votre aide.
<center><b>Remplissage de la table</b></center></h1>
<FORM method=post action="form.php">
<h3><u>Completer le formulaire pour remplir la table :</u></h3>
<TABLE BORDER=5>
 
<TR>
	<TD>Entrez le nom</TD>
	<TD>
	<INPUT type=text name="Name_test" >
	</TD>
</TR>
 
<TR>
	<TD>Entrez le Number</TD>
	<TD>
	<INPUT type=text name="Number_test" >
	</TD>
 
<TR>
	<TD>Entrez la description</TD>
	<TD>
	<INPUT type=text name="Description_test" >
	</TD>
</TR>
 
<TR>
	<TD>Entrez le PartNumber</TD>
	<TD>
	<INPUT type=text name="PartNumber" >
	</TD>
</TR>
 
<TR>
	<TD>Entrez le num_EC</TD>
	<TD>
	<INPUT type=text name="num_EC" >
	</TD>
</TR>	
 
	<TR>
	<TD COLSPAN=2>
	<INPUT type="submit" value="Envoyer">
	</TD>
</TR>
 
</TABLE>
</FORM>
<?
<?php
$db = mysql_connect('127.0.0.1', 'root', '1234');  
mysql_select_db('bdd',$db); 
 
// Recuperation des valeurs :
 
$Name_test = $_POST['Name_test'];
$Number_test = $_POST['Number_test'];
$Description_test = $_POST['Description_test'];
$PartNumber = $_POST['PartNumber'];
$num_EC = $_POST['num_EC'];
 
 
 
 
// Insertion des valeurs :
$insertion = "insert into test_table (Name_test, Number_test, Description_test, PartNumber, num_EC) values ('$Name_test', '$Number_test', 
'$Description_test','$PartNumber', '$num_EC')";
mysql_query($insertion)
 
?>