Probleme php et mysql

Résolu
(@)-JYX8X8-(@) Messages postés 4199 Date d'inscription   Statut Contributeur Dernière intervention   -  
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   -
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.
A voir également:

9 réponses

Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
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   Statut Contributeur Dernière intervention   3 193
 
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   Statut Membre Dernière intervention   369
 
Pour récupérer nom, tu dois faire $_POST['nom'] et non $nom
0
(@)-JYX8X8-(@) Messages postés 4199 Date d'inscription   Statut Contributeur Dernière intervention   422
 
eh bien j'essaye ça de suite et vous tient au courant, merci
0
(@)-JYX8X8-(@) Messages postés 4199 Date d'inscription   Statut Contributeur Dernière intervention   422
 
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   Statut Membre Dernière intervention   369
 
Très bien mais pourrais-tu montrer les lignes 6,7 et 8 s'il te plait...
0
(@)-JYX8X8-(@) Messages postés 4199 Date d'inscription   Statut Contributeur Dernière intervention   422
 
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   Statut Membre Dernière intervention   369
 
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 4199 Date d'inscription   Statut Contributeur Dernière intervention   422
 
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   Statut Contributeur Dernière intervention   3 193
 
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 4199 Date d'inscription   Statut Contributeur Dernière intervention   422
 
oui elle y était déjà, regarde bien mon premier post ;)
0
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
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 4199 Date d'inscription   Statut Contributeur Dernière intervention   422
 
:/ :

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   Statut Membre Dernière intervention   369
 
C'est parce qu'il n'y a pas de ":" après le echo...
;-)
0
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
youps, faute de frappe ;)
0
(@)-JYX8X8-(@) Messages postés 4199 Date d'inscription   Statut Contributeur Dernière intervention   422
 
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   Statut Contributeur Dernière intervention   3 193
 
essayes de tester ta requete directement depusi la console SQL de phpmyadmin ...
0
(@)-JYX8X8-(@) Messages postés 4199 Date d'inscription   Statut Contributeur Dernière intervention   422
 
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   Statut Contributeur Dernière intervention   3 193
 
"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   Statut Contributeur Dernière intervention   3 193
 
"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   Statut Contributeur Dernière intervention   3 193
 
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 4199 Date d'inscription   Statut Contributeur Dernière intervention   422
 
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 4199 Date d'inscription   Statut Contributeur Dernière intervention   422
 
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 4199 Date d'inscription   Statut Contributeur Dernière intervention   422
 
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   Statut Contributeur Dernière intervention   3 193
 
de rien, @+
0