Probleme php et mysql

Résolu/Fermé
(@)-JYX8X8-(@) Messages postés 4185 Date d'inscription vendredi 10 avril 2009 Statut Contributeur Dernière intervention 24 décembre 2014 - 3 août 2010 à 14:24
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 - 3 août 2010 à 22:52
Bonjour, je suis actuellement en train de refaire mon site, et donc je'ai décidé de faire un formulaire de contact.

Seulement je suis un petit débutant en php, et j'ai un peu du mal ^^

Donc j'ai un forumalire en html avec 5 valeurs : prenom, nom, email, motif, et la case pour le texte.

code html :
form name='formulaire_contact' action='traitement_contact.php' method='post' onSubmit="return verification()">

<table>
<tr><td>Votre nom : </td><td><input name='nom' type='text' size='50'></td></tr>
<tr><td>Votre prénom : </td><td><input name='prenom' type='text' size='50'></td></tr>
<tr><td>Votre email</td><td><input name='email' type='text' size='50'></td></tr><br />
<tr><td>Motif de votre message :</td><td><input name='sujet' type='radio' value='renseignement'>Renseignement<br>
<input name='sujet' type='radio' value='probleme technique'>Demande d'interventions<br>
<input name='sujet' type='radio' value='partenariat'>Partenariat</td></tr><br />
<tr><td>Votre message</td><td><textarea name='texte' cols='50' rows='20'></textarea></td></tr>
<tr><td><input name='annuler' type='reset' value='Annuler'></td><td>
<input name='soumettre' type='submit' value='Envoyer'></td></tr>
</table>

</form>


Puis je fais ma page traitement_contact pour le script php qui stocke les valeur dans la bdd :

code php :

<?php
$dbhost = "srv";
$dbuser ="user";
$dbpass="pass";
$dbbase="BDD";
@mysql_connect($dbhost,$dbuser,$dbpass) or die("La Connexion a échouée");  @mysql_select_db($dbbase) or die("La Base $dbbase n'existe pas");
$enregistrement = "INSERT INTO formulaire_contact (nom,prenom,email,sujet,texte)  VALUES ('$nom','$prenom','$email','$sujet',$texte)";    
mysql_query($enregistrement);
mysql_close();
?> 


Bien sur je déclare les infos de connexion au début du script ;), je vais vérifier ensuite sur la table formulaire_contact que j'ai préalablement créer, mais elle n'a aucun enregistrement.

Si vous pouvez m'aider à y voir plus clair, ce serait super :)

merci à vous cher CCMiste.

9 réponses

Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
3 août 2010 à 14:29
deja, je ne vois pas la balise <form method=POST action="traitement_contact .php"> </form> qui doit encadrer l'ensemble des champs à envoyer ....
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
3 août 2010 à 14:30
et, bon, je n'ai pas l'habitude de travaille en PHP tous les jours, mais :
VALUES ('$nom','$prenom','$email','$sujet',$texte)";
j'aurai mis les variables plutot comme ca: $_POST['nom'] ...
0
Breub62 Messages postés 2989 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 369
3 août 2010 à 14:29
Pour récupérer nom, tu dois faire $_POST['nom'] et non $nom
0
(@)-JYX8X8-(@) Messages postés 4185 Date d'inscription vendredi 10 avril 2009 Statut Contributeur Dernière intervention 24 décembre 2014 422
3 août 2010 à 14:36
eh bien j'essaye ça de suite et vous tient au courant, merci
0
(@)-JYX8X8-(@) Messages postés 4185 Date d'inscription vendredi 10 avril 2009 Statut Contributeur Dernière intervention 24 décembre 2014 422
3 août 2010 à 14:43
Ok maintenant, j'ai un retour d'erreur, :

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/j/jx/jxv/jxv2.perso.sfr.fr/public_html/traitement_contact.php on line 7
0
Breub62 Messages postés 2989 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 369
3 août 2010 à 14:50
Très bien mais pourrais-tu montrer les lignes 6,7 et 8 s'il te plait...
0
(@)-JYX8X8-(@) Messages postés 4185 Date d'inscription vendredi 10 avril 2009 Statut Contributeur Dernière intervention 24 décembre 2014 422
3 août 2010 à 14:51
Bien sur :)
@mysql_connect($dbhost,$dbuser,$dbpass) or die("La Connexion a échouée");  @mysql_select_db($dbbase) or die("La Base $dbbase n'existe pas");

$enregistrement = "INSERT INTO formulaire_contact (nom,prenom,email,sujet,texte)  VALUES ($_POST['nom'], $_POST['prenom'], $_POST['email'], $_POST['sujet'], $_POST['texte'])";    

mysql_query($enregistrement);

0
Breub62 Messages postés 2989 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 369
3 août 2010 à 14:58
Remplace ta ligne 7 par ceci :
$enregistrement = "INSERT INTO formulaire_contact (nom,prenom,email,sujet,texte)  VALUES ('".$_POST['nom']."','".$_POST['prenom']."','".$_POST['email']."','".$_POST['sujet']."','".$_POST['texte']."')";    
0
(@)-JYX8X8-(@) Messages postés 4185 Date d'inscription vendredi 10 avril 2009 Statut Contributeur Dernière intervention 24 décembre 2014 422
3 août 2010 à 15:07
Alors j'ai plus d'erreur, mais toujours pas d'enregistrement dans la table.

Excuse moi pour le dérangement et merci pour l'aide que tu m'apporte ^^.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
3 août 2010 à 15:12
as tu rajouté la balise <form> comme je t'ai indiqué plus haut ?

<form method="POST" action="traitement_contact .php">
<table>
<tr><td>Votre nom : </td><td><input name='nom' type='text' size='50'></td></tr>
<tr><td>Votre prénom : </td><td><input name='prenom' type='text' size='50'></td></tr>
<tr><td>Votre email</td><td><input name='email' type='text' size='50'></td></tr><br />
<tr><td>Motif de votre message :</td><td><input name='sujet' type='radio' value='renseignement'>Renseignement<br>
<input name='sujet' type='radio' value='probleme technique'>Demande d'interventions<br>
<input name='sujet' type='radio' value='partenariat'>Partenariat</td></tr><br />
<tr><td>Votre message</td><td><textarea name='texte' cols='50' rows='20'></textarea></td></tr>
<tr><td><input name='annuler' type='reset' value='Annuler'></td><td>
<input name='soumettre' type='submit' value='Envoyer'></td></tr>
</table>

</form>
0
(@)-JYX8X8-(@) Messages postés 4185 Date d'inscription vendredi 10 avril 2009 Statut Contributeur Dernière intervention 24 décembre 2014 422
3 août 2010 à 15:16
oui elle y était déjà, regarde bien mon premier post ;)
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
3 août 2010 à 15:19
fais un petit:
echo: "test" .$_POST['nom']."','".$_POST['prenom']."','".$_POST['email']."','".$_POST['sujet']."','".$_POST['texte']."')
pour voir si la page recoit bien tout ....
0
(@)-JYX8X8-(@) Messages postés 4185 Date d'inscription vendredi 10 avril 2009 Statut Contributeur Dernière intervention 24 décembre 2014 422
3 août 2010 à 15:24
:/ :

Parse error: syntax error, unexpected ':' in /var/www/j/jx/jxv/jxv2.perso.sfr.fr/public_html/traitement_contact.php on line 2
0
Breub62 Messages postés 2989 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 369
3 août 2010 à 15:25
C'est parce qu'il n'y a pas de ":" après le echo...
;-)
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
3 août 2010 à 15:26
youps, faute de frappe ;)
0
(@)-JYX8X8-(@) Messages postés 4185 Date d'inscription vendredi 10 avril 2009 Statut Contributeur Dernière intervention 24 décembre 2014 422
Modifié par (@)-JYX8X8-(@) le 3/08/2010 à 16:02
Donc la page reçoit bien les données a ce que j'ai compris, et donc le problème se situerai au niveau de la BDD.

J'ai essayé un test de connexion :

<?php    
$dbhost = "BDD";  
$dbuser ="USER";  
$dbpass="PASS";  
@mysql_connect($dbhost,$dbuser,$dbpass) or die("La Connexion a échouée");    echo "la connexion a réussie";    
mysql_close();  
?>  


Le test est concluant par "la connexion à réussi"
J'ai inscrit la bonne table, et les champ sont correct.

Le savoir est universel et doit être partagé par tous, les échanges nous enrichissent.
(@)-JYX8X8-(@) ou JYX pour pas se prendre la tête ^^
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
3 août 2010 à 16:10
essayes de tester ta requete directement depusi la console SQL de phpmyadmin ...
0
(@)-JYX8X8-(@) Messages postés 4185 Date d'inscription vendredi 10 avril 2009 Statut Contributeur Dernière intervention 24 décembre 2014 422
3 août 2010 à 16:16
Je vois bien la console, mais je comprend pas ce que tu veux que je tape comme requête.
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
3 août 2010 à 16:27
"INSERT INTO formulaire_contact ('nom','prenom','email','sujet','texte') VALUES ('martin','roger','roger@ratata.com','sujet du mail','texte du mail')";
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
3 août 2010 à 16:27
"INSERT INTO formulaire_contact ('nom','prenom','email','sujet','texte') VALUES ('martin','roger','roger@ratata.com','sujet du mail','texte du mail')";
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
3 août 2010 à 16:28
et d'ailleurs dans ton code:
VALUES ('$nom','$prenom','$email','$sujet',$texte)";
pourquoi toutes les variables sont entre ' ' et pas $texte ????
0
(@)-JYX8X8-(@) Messages postés 4185 Date d'inscription vendredi 10 avril 2009 Statut Contributeur Dernière intervention 24 décembre 2014 422
3 août 2010 à 18:38
Bon j'avance un peu, j'ai maintenant des enregistrements dans la table, mais les valeurs ne s'affiche pas ;)
0
(@)-JYX8X8-(@) Messages postés 4185 Date d'inscription vendredi 10 avril 2009 Statut Contributeur Dernière intervention 24 décembre 2014 422
Modifié par (@)-JYX8X8-(@) le 3/08/2010 à 18:46
J'ai compris pourquoi il n'y avait pas d'enregistrements, j'avais coché NULL, ce qui fait qu'il n'accepte les enregistrements que si il y a une valeur a rentré.

Donc quand j'ai décoché cette case, les enregistrement se sont fait, certes sans valeur, le problème vient donc du fait que ces valeurs ne sont pas envoyé à la base => script php en cause ;)

Je me remet au boulot, par contre si vous avez des idée je suis preneur.
0
(@)-JYX8X8-(@) Messages postés 4185 Date d'inscription vendredi 10 avril 2009 Statut Contributeur Dernière intervention 24 décembre 2014 422
3 août 2010 à 19:07
C'est bon j'ai finalement réussi, merci pour l'aide que vous m'avez apporté ;)
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
3 août 2010 à 22:52
de rien, @+
0