Page 1 sur 1

formulaire php et mysql

Posté : 16 août 2012, 17:39
par flyad
Bonjour,
Bonjour,
je créer un site et je suis a un formulaire, j'ai suivies ce tuto http://www.youtube.com/watch?feature...&v=i8byuKn_r1E
Les info ne vont pas dans la base de donnée pourquoi ?

Code : Tout sélectionner

<?php var_dump($_POST); if(isset($_POST['Nom_prenom']) && isset($_POST['Date_de_naissance']) && isset($_POST['Adresse']) && isset($_POST['Ville']) && isset($_POST['Cp']) && isset($_POST['Civil']) && isset($_POST['Email'])&& isset($_POST['Telephone'])&& isset($_POST['Code']) && $_POST['Nom_prenom'] != "" && $_POST['Date_de_naissance'] != "" && $_POST['Adresse'] != "" && $_POST['Ville'] != "" && $_POST['Cp'] != "" && $_POST['Civil'] != "" && $_POST['Email'] != ""&& $_POST['Telephone'] != ""&& $_POST['Code'] != ""){ $Nom_prenom = $_POST['Nom_prenom']; $Date_de_naissance = $_POST['Date_de_naissance']; $Adresse =$_POST['Adresse']; $Ville = $_POST['Ville']; $Cp= $_POST['Cp']; $Civil = $_POST['Civil']; $Email = $_POST['Email']; $Telephone = $_POST['Telephone']; $Code = $_POST['Code']; $connect= mysql_connect('localhost','client','31p71h49') or die('Impossible de se connecter au serveur MySQL'); mysql_select_db("phplogin"); mysql_query("INSERT INTO clients Nom_prenom,Date_de_naissance,Adresse,Ville,Cp,Civil,Email,Telephone,Code)VALUES('$Nom_prenom','$Date_de_naissance','$Adresse','$Ville','$Cp','$Civil','$Email','$Telephone','$Code')"); } ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Nouveau client-CashProg</title> <LINK rel="stylesheet" type="text/css" href="style.css"> </head> <body> <p><font color="red">/!\ Tous les champs doivent être remplis /!\</font> <form method="POST" action="nouveauxclient.php"> <center><fieldset><legend><font color="red">Nouveaux Client</font></legend> <TABLE BORDER=0> <TR> <TD><input type="text" name="Code" value="<?php echo rand(1, 9999999) ?>" /></TD> <TD><label for="Civil">Civilité:</TD> <TD> <select name="Civil"> <option>Mr.</option> <option>Mlle</option> <option>Mme</option> </select></TD> <TD>Nom et prenom</TD> <TD> <INPUT type=text name="Nom_prenom"> </TD> </TR> <TR> <TD>Adresse</TD> <TD> <INPUT type=text name="Adresse"> </TD> <TD>Code Postal</TD> <TD> <INPUT type=text name="Cp"> </TD> </TR> <TR> <TD>Ville</TD> <TD> <INPUT type=text name="Ville"> </TD> <TD>Telephone</TD> <TD> <INPUT type=text name="Telephone"> </TD> </TR> <TR> <TD>Email</TD> <TD> <INPUT type=text name="Email"> </TD> <TD>Date de naissance</TD> <TD> <INPUT type=text name="Date_de_naissance"> </TD> </TABLE></center> <center><INPUT border=0 src="ok.png" type=image Value=submit align="middle" > </center> </FORM><br><br/> </fieldset><center> </body> </html>

Re: formulaire php et mysql

Posté : 16 août 2012, 19:06
par milouz1985
Salut!

à première vu il te manque ton lien dans ta requête Sql:
mysql_query("INSERT INTO clients Nom_prenom,Date_de_naissance,Adresse,Ville,Cp,Civil,Email,Telephone,Code)VALUES('$Nom_prenom','$Date_de_naissance','$Adresse','$Ville','$Cp','$Civil','$Email','$Telephone','$Code')");
   }
d'ailleurs, je l'écrirais plutot comme ça:
$sql="INSERT INTO clients Nom_prenom,Date_de_naissance,Adresse,Ville,Cp,Civil,Email,Telephone,Code)VALUES('$Nom_prenom','$Date_de_naissance','$Adresse','$Ville','$Cp','$Civil','$Email','$Telephone','$Code')";
mysql_query($sql,$connect) or die("Erreur Sql: ".sql_error());
le
 or die("Erreur Sql: ".sql_error())
t'aurais d'ailleurs permis de voir tout de suite l'erreur, il t'aurait retourné un "Pas de base de donné sélectionné" ou qqch comme ça

Re: formulaire php et mysql

Posté : 16 août 2012, 20:02
par moogli
salut,

plutot que or die, il peux être plus intéressant d'afficher un message d'erreur sympa pour les visiteur, donc un if sur la valeur de retour est tout aussi bien :)


@+

Re: formulaire php et mysql

Posté : 17 août 2012, 07:14
par sirakawa
Un petit comptage des parenthèses ne serait pas du luxe:
$sql="INSERT INTO clients Nom_prenom,Date_de_naissance,Adresse,Ville,Cp,Civil,Email,Telephone,Code)
VALUES ('$Nom_prenom','$Date_de_naissance','$Adresse','$Ville','$Cp','$Civil','$Email','$Telephone','$Code')";
//on verrait aussitôt de quoi il retourne en ajoutant :
print "$sql";
mysql_query($sql,$connect) OR die("Erreur Sql: ".sql_error());
Je me demande si l'autre syntaxe:
INSERT INTO TaTable SET
            date='$date',
            pseudo='$pseudo',
            email='$email' ";
n'est pas plus facile à maîtriser, surtout quand il y a beaucoup de champs