Envoyer des données d'un formulaire dans ma base MySQL - PHP - Programmation
Marsh Posté le 31-01-2009 à 01:46:01
salut,
1. faire du mysql_query de ta requête comme ça c'est bourrin. Tu ferais mieux de préparer ta requête avant de l'exécuter.
$req=....
mysql_query($req)
2. les données ne sont pas protégées, que se passe-t-il si une d'entre elles a une apostrophe ? Il y aura confusion avec les apostrophes qui délimitent tes champs ...
3. dans le souci de débugger, affiche les erreurs !
mysql_query($req) or die(mysql_error());
3. c'est INSERT INTO la_table VALUES (et non VALUE)
4. dans un souci d'optimisation, ça ne sert à rien d'initialiser la connexion à ta base si c'est juste pour afficher le formulaire : n'ouvre la connexion qu'avant le mysql_query ...
5. pour l'anticipation : en français, on écrit "conneXion" et en anglais : "conneCTion".
Marsh Posté le 31-01-2009 à 08:54:11
Je te remercie pour ton aide, pour ton petit 1 et pour ma faute d'orthographe sur mon VALUES, je m'en suis aperçu par la suite.
j'ai donc rajouter or die(mysql_error()); et j'ai eu un message d'erreur qui c'est affiché :
ValiderYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '')' at line 1
mais je ne vois pas où est l'erreur.
Marsh Posté le 31-01-2009 à 09:14:04
je vien de remarquer que j'avais oublier un : ' , à la fin de '$message_contact'
mais j'ai encore un petit probleme, toutes les données s'enregistre dans ma base sauf ce qui est contenu dans '$message_contact', est ce une erreur dans le textarea ? c'est la premiere fois que je l'utilise, je ne suis qu'une petite débutante lol
Marsh Posté le 31-01-2009 à 11:49:49
Attention tu as un petit problème en ce qui concerne la récupération des données POST.
Tu affectes les valeurs entrées en paramètre POST à tes variables $message_* avant de tester l'existence de POST['message_*'].
Ensuite, tu fais un suite de IF inutile alors que tu peux utiliser une seule structure de controle.
Ah aussi sur le forum on utilise les balises codes
([code=php][/code])
Donc, tu peux faire comme çà :
Code :
|
Marsh Posté le 31-01-2009 à 16:47:09
En faisant comme ca, j'ai un message d'erreur :
Parse error: syntax error, unexpected '{' in C:\wamp\www\Sudexport\includes\inc_contacter.php on line 69ma ligne 69 correspond a ta ligne 5. Et si je la supprime, juste pour voir, j'ai un autre message d'erreur :
Parse error: syntax error, unexpected T_VARIABLE in C:\wamp\www\Sudexport\includes\inc_contacter.php on line 70
(ligne 6 sur ton code)
Sinon je te remercie pour l'astuce pour insérer du code, c'est beaucop plus présentable, mais je ne connais pas encore beaucoup le forum, j'apprends petit à petit ;-)
Marsh Posté le 31-01-2009 à 16:54:35
Excuse moi , j'ai fait une erreur , je voullais dire qu'il manque une parenthèse dans ton if, plus précisément celle après la variable $_post['prenom_contact'] de ton if
EDIT : je voyais pas le bouton EDIT , désolé du double post
Marsh Posté le 01-02-2009 à 12:44:55
Je vous remercie pour votre aide, et ja'ai réussi a trouver toute seul se qui n'allait pas.
Marsh Posté le 30-01-2009 à 22:03:40
Bonsoir tout le monde, j'ai encore un petit probleme avec mon programme, je n'arrive pas à envoyer les données qu'on inscrit dans mon formulaire, écrit en php/html, vers ma base de données MySQL, quelqu'un pourrait m'aider pour mon code?
je vous remercie d'avance
Voici mon code :
<?php
//Connecion a ma base de données
mysql_connect("localhost", "root", "" );
mysql_select_db("sudexport" );
?>
<form action="inc_contacter.php" method="post" onsubmit="return validation();">
<?php
$num_contact = false;
$nom_contact = false;
$prenom_contact = false;
$mail_contact = false;
$message_contact = false;
$erreur=false;
if(isset($_POST['valider']))
{
$num_contact=htmlentities($_POST['num_contact'], ENT_QUOTES); $nom_contact=htmlentities($_POST['nom_contact']);
$prenom_contact=htmlentities($_POST['prenom_contact']);
$mail_contact=htmlentities($_POST['mail_contact']);
}
if ($_POST['nom_contact'] == NULL)
{
$erreur=true;
}
if ($_POST['prenom_contact']== NULL)
{
$erreur= true;
}
if ($_POST['mail_contact']== NULL)
{
$erreur=true;
}
if ($_POST['message_contact']== NULL)
{
$erreur=true;
}
?>
<table>
<tr>
<td>Nom : </td>
<td> <input name="nom_contact" type="text" size="30"<?php if(isset($nom_contact)) echo " value='".$nom_contact."'" ; ?>></td>
</tr>
<tr>
<td>Prénom : </td>
<td> <input name="prenom_contact" type="text" size="30"<?php if(isset($prenom_contact)) echo " value='".$prenom_contact."'" ; ?>></td>
</tr>
<tr>
<td>Email : </td>
<td> <input name="mail_contact" type="text" size="30"<?php if(isset($mail_contact)) echo " value='".$mail_contact."'" ; ?>></td>
</tr>
<tr>
<td>Message : </td>
<td> <textarea name="message_contact" rows="8" cols="45" <?php if(isset($message_contact)) echo " value='".$message_contact."'" ; ?>></textarea></td>
</tr>
<tr>
<td><input name="valider" value="Valider" type="submit" /></td>
</tr>
<?php
if (isset($_POST['valider']))
{
if($erreur == false)
{
mysql_query("INSERT INTO contact VALUE( '','$nom_contact','$prenom_contact','$mail_contact','$message_contact)" );
echo "<script language='javascript'>document.location='inc_contacter.php'; </script>";
}
}
mysql_close();
?>
</table>
</form>