formulaire php et mysql

flyad
Invité n'ayant pas de compte PHPfrance

16 août 2012, 17:39

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>

Petit nouveau ! | 6 Messages

16 août 2012, 19:06

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

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

16 août 2012, 20:02

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 :)


@+
Il en faut peu pour être heureux ......

Mammouth du PHP | 2278 Messages

17 août 2012, 07:14

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
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD