Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1645 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Envoyer des données d'un formulaire dans ma base MySQL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Envoyer des données d'un formulaire dans ma base MySQL

n°1845392
Boony59
Posté le 30-01-2009 à 22:03:40  profilanswer
 


 
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>

mood
Publicité
Posté le 30-01-2009 à 22:03:40  profilanswer
 

n°1845431
NewsletTux
&lt;Insérez ici votre vie /&gt;
Posté le 31-01-2009 à 01:46:01  profilanswer
 

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".


---------------
NewsletTux - outil de mailing list en PHP MySQL
n°1845439
Boony59
Posté le 31-01-2009 à 08:54:11  profilanswer
 

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.

n°1845442
Boony59
Posté le 31-01-2009 à 09:14:04  profilanswer
 

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

n°1845481
Profil sup​primé
Posté le 31-01-2009 à 11:49:49  answer
 

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 :
  1. <?php  
  2. if (!empty($_POST['nom_contact']) && !empty($_POST['prenom_contact']
  3.  && !empty($_POST['num_contact']) && !empty($_POST['mail_contact'])
  4.  && !empty($_POST['message_contact']) && $_SERVER['REQUEST_METHOD'] == 'POST')
  5. {
  6.     $error = false;
  7.     
  8.     $num_contact = htmlentities($_POST['num_contact']);
  9.     $nom_contact = htmlentities($_POST['nom_contact']);  
  10.     $prenom_contact = htmlentities($_POST['prenom_contact']);  
  11.     $message_contact = htmlentities($_POST['message_contact']);
  12.     $mail_contact = htmlentities($_POST['mail_contact']);
  13. } else {
  14.     $error = true;
  15. }
  16. ?>


Message édité par Profil supprimé le 31-01-2009 à 11:50:23
n°1845573
Boony59
Posté le 31-01-2009 à 16:47:09  profilanswer
 

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


Message édité par Boony59 le 31-01-2009 à 16:49:05
n°1845574
veneria
Posté le 31-01-2009 à 16:53:00  profilanswer
 

Manque une parenthèse a la fin de ton if

n°1845575
veneria
Posté le 31-01-2009 à 16:54:35  profilanswer
 

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


Message édité par veneria le 31-01-2009 à 16:56:34
n°1845708
Profil sup​primé
Posté le 01-02-2009 à 09:24:29  answer
 

bien vu, j'ai fait trop vite. Ca devrait marcher boony59

n°1845790
Boony59
Posté le 01-02-2009 à 12:44:55  profilanswer
 

Je vous remercie pour votre aide, et ja'ai réussi a trouver toute seul se qui n'allait pas.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Envoyer des données d'un formulaire dans ma base MySQL

 

Sujets relatifs
Ne pas formater le formulaire à l'échecprobléme accents dans une base POSTGRE à partir d'un prog JAVA
Test champs base mysqlRécupérer des données sur une clé double
MySQL jointure entre deux tables sur deux serveursFormulaire + pièce jointe!
Problème de mise en page suite à l insertion d'un formulaireFORMULAIRE : Listes sélections dynamiques
MSSQL et historisation de données temps réel 
Plus de sujets relatifs à : Envoyer des données d'un formulaire dans ma base MySQL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR