Probleme ecriture dans mysql depuis formulaire

Résolu
elt93 Messages postés 46 Date d'inscription jeudi 13 mars 2008 Statut Membre Dernière intervention 9 février 2009 - 24 août 2008 à 13:52
jreaux62 Messages postés 195 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 24 octobre 2011 - 27 août 2008 à 14:02
Bonjour,
J'ai un formulaire qui envoie des données par post à une page php afin que celles-ci soient écrites dans une bdd mysql. Je ne l'ai testé que sur easyphp(en local) peut-être que ceci peut expliquer le probleme mais voici ce que j'obtiens une fois le formyulaire envoyé :
Notice: Undefined variable: company in C:\Program Files\EasyPHP 2.0b1\www\modif\posttarif.php on line 32

Notice: Undefined variable: company in C:\Program Files\EasyPHP 2.0b1\www\modif\posttarif.php on line 32

Notice: Undefined variable: lastname in C:\Program Files\EasyPHP 2.0b1\www\modif\posttarif.php on line 32

Notice: Undefined variable: address in C:\Program Files\EasyPHP 2.0b1\www\modif\posttarif.php on line 32

Notice: Undefined variable: zipcode in C:\Program Files\EasyPHP 2.0b1\www\modif\posttarif.php on line 32

Notice: Undefined variable: city in C:\Program Files\EasyPHP 2.0b1\www\modif\posttarif.php on line 32

Notice: Undefined variable: country in C:\Program Files\EasyPHP 2.0b1\www\modif\posttarif.php on line 32

Notice: Undefined variable: tel in C:\Program Files\EasyPHP 2.0b1\www\modif\posttarif.php on line 32

Notice: Undefined variable: fax in C:\Program Files\EasyPHP 2.0b1\www\modif\posttarif.php on line 32

Notice: Undefined variable: email in C:\Program Files\EasyPHP 2.0b1\www\modif\posttarif.php on line 32

Notice: Undefined variable: activity in C:\Program Files\EasyPHP 2.0b1\www\modif\posttarif.php on line 32

Notice: Undefined variable: size in C:\Program Files\EasyPHP 2.0b1\www\modif\posttarif.php on line 32

Notice: Undefined variable: destination in C:\Program Files\EasyPHP 2.0b1\www\modif\posttarif.php on line 32

Notice: Undefined variable: comments in C:\Program Files\EasyPHP 2.0b1\www\modif\posttarif.php on line 32

Notice: Undefined variable: company in C:\Program Files\EasyPHP 2.0b1\www\modif\posttarif.php on line 39

Notice: Undefined variable: lastname in C:\Program Files\EasyPHP 2.0b1\www\modif\posttarif.php on line 39

Notice: Undefined variable: address in C:\Program Files\EasyPHP 2.0b1\www\modif\posttarif.php on line 39

Notice: Undefined variable: zipcode in C:\Program Files\EasyPHP 2.0b1\www\modif\posttarif.php on line 39

Notice: Undefined variable: city in C:\Program Files\EasyPHP 2.0b1\www\modif\posttarif.php on line 39

Notice: Undefined variable: country in C:\Program Files\EasyPHP 2.0b1\www\modif\posttarif.php on line 39

Notice: Undefined variable: tel in C:\Program Files\EasyPHP 2.0b1\www\modif\posttarif.php on line 39

Notice: Undefined variable: fax in C:\Program Files\EasyPHP 2.0b1\www\modif\posttarif.php on line 39

Notice: Undefined variable: email in C:\Program Files\EasyPHP 2.0b1\www\modif\posttarif.php on line 39

Notice: Undefined variable: activity in C:\Program Files\EasyPHP 2.0b1\www\modif\posttarif.php on line 39

Notice: Undefined variable: size in C:\Program Files\EasyPHP 2.0b1\www\modif\posttarif.php on line 39

Notice: Undefined variable: destination in C:\Program Files\EasyPHP 2.0b1\www\modif\posttarif.php on line 39

Notice: Undefined variable: comments in C:\Program Files\EasyPHP 2.0b1\www\modif\posttarif.php on line 39

voici le code du formpulaire :
 <form action= "posttarif.php" method="post" enctype="text/plain">
                    Société:&nbsp;&nbsp;&nbsp;
                   
                   

                    Contact
                   

                    Prénom:&nbsp;&nbsp;
                   
                   

                    Nom:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                   
                   

                    Adresse:&nbsp;
                   
                   

                    CP:
                   
                    &nbsp;
                    Ville:
                   
                   

                    Pays:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <select name ="country">
                    <option value= "vide"></option>
                    <option value="france">France</option>
                    <option value="madagascar">Madagascar</option>
                    <option value="mauritius">Maurice</option>
                    <option value="morocco">Maroc</option>
                    <option value="others">Autres</option>
                    <option value="multiple">Plusieurs</option>
                    </select>
                   

                    Tel:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                   
                   

                    Fax:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                   
                   

                    e-mail:&nbsp;&nbsp;&nbsp;&nbsp;
                   
                   

                    </fieldset>
                   

                   
                   

                   

                    <fieldset>
                       <legend>
                        Activité:
                       </legend>

                   

                    Centre d'Appels
                   

                    Hotels
                   

                    Call shop
                   

                    Autres activités

                   

                    Nombre de postes:
                    <select name ="size">
                    <option value= "vide"></option>
                    <option value="0-5">moins de 5</option>
                    <option value="5-10">5 à 10</option>
                    <option value="10-30">10 à 30</option>
                    <option value="30">Plus de 30</option>
                    </select>

                   

                    DESTINATION: &nbsp;&nbsp;APPELS VERS:
                   

                    France (principalement)
                   

                    Europe Occidentale (principalement)
                   

                    USA/Canada (principalement)
                   

                    Autres
                   

                    Toutes destinations
                   

                    COMMENTAIRE:
                   

                    <textarea rows ="5" cols="40" name="comments" value="comment">
                    </textarea>

                    </fieldset>

                     </form>

et voici le code de la page d'ecriture dans la base mysql :
<?php
include ("config.php");

if(isset($_POST['company']))      $company=$_POST['company'];

if(isset($_POST['firstname']))      $company=$_POST['firstname'];

if(isset($_POST['lastname']))      $lastname=$_POST['lastname'];

if(isset($_POST['address']))      $address=$_POST['address'];

if(isset($_POST['zipcode']))      $zipcode=$_POST['zipcode'];

if(isset($_POST['city']))      $city=$_POST['city'];

if(isset($_POST['country']))      $country=$_POST['country'];

if(isset($_POST['tel']))      $tel=$_POST['tel'];

if(isset($_POST['fax']))      $fax=$_POST['fax'];

if(isset($_POST['email']))      $email=$_POST['email'];

if(isset($_POST['activity']))      $activity=$_POST['activity'];

if(isset($_POST['size']))      $size=$_POST['size'];

if(isset($_POST['destination']))      $destination=$_POST['destination'];

if(isset($_POST['comments']))      $comments=$_POST['comments'];

mysql_query("INSERT INTO tarifs VALUES('', $company, $company, $lastname, $address, $zipcode, $city, $country, $tel, $fax, $email, $activity, $size, $destination, $comments)");

mysql_close();
?>

Pourriez-vous m'aider à résoudre ce problème ?
Merci d'avance pour votre aide.

15 réponses

elt93 Messages postés 46 Date d'inscription jeudi 13 mars 2008 Statut Membre Dernière intervention 9 février 2009
24 août 2008 à 18:59
J'ai trouvé !!!
j'ai supprimé la balise enctype dans le form et ca a marché.
Merci beaucoup pour l'aide que tu m'as donné !!!
3
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 37
24 août 2008 à 19:25
Mince, mon clavier marche de plus en plus mal...

L'attribut enctype sert a définir le type des données envoyés...

Pourquoi elle bloquait les données, ça je ne le sais pas...

a++

Si la réponse vous convient, pensez : Réponse acceptée !
3
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 37
24 août 2008 à 16:01
Salut,

Ba je veus bien t'aider mais ça serai bien qu'on sache quelle est la ligne 32 et quelle est la ligne 39...

a++

Si la réponse vous convient, pensez : Réponse acceptée !
0
elt93 Messages postés 46 Date d'inscription jeudi 13 mars 2008 Statut Membre Dernière intervention 9 février 2009
24 août 2008 à 16:28
ok dsl,
L 32 : mysql_query("INSERT INTO tarifs VALUES('',
$company, $company, $lastname, $address, $zipcode, $city, $country,
$tel, $fax, $email, $activity, $size, $destination, $comments)");

Je n'ai pas mis cette partie de la page qui contient la l39 pensant qu'elle était etrangere au probleme :
$email_dest="mail@mail.com";
$sujet="Demande de tarif ";
$headers="From: ' demande de tarif'";
L 39: $message="Company : $company\n Firstname : firstname\n Lastname : $lastname\n Address : $address\n Zipcode : $zipcode\n City : $city\n Country : $country\n Tel : $tel\n Fax : $fax\n Email : $email\n Activity : $activity\n Size : $size\n Destination : $destination\n Comments : $comments\n  \n.";
mail($email_dest,$sujet,$message,$headers);
echo'Votre demande a bien été envoyé';

Merci
0

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

Posez votre question
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 37
24 août 2008 à 17:01
Remplace :

mysql_query("INSERT INTO tarifs VALUES('', $company,ETC...

Par :

mysql_query("INSERT INTO tarifs VALUES('', '".$company."', ETC...

Par contre les pb ne viennent pas de la...

Tes variables ne sont pas déclarés ce qui veut dire que la page php que tu m'as donné n'est pas posttarif.php...

a++

Si la réponse vous convient, pensez : Réponse acceptée !
0
elt93 Messages postés 46 Date d'inscription jeudi 13 mars 2008 Statut Membre Dernière intervention 9 février 2009
24 août 2008 à 17:17
posttarif.php est maintenant comme ceci :
mysql_query("INSERT INTO tarifs VALUES('','".$company."','".$lastname."', '".$address."', '".$zipcode."', '".$city."', '".$country."', '".$tel."', '".$fax."', '".$email."', '".$activity."', '".$size."', '".$destination."', '".$comments."')");

J'ai reverifié la page que j'ai donné est bien posttarif.php. Serait-ce possible que je declare mes variables trop tot ou que cela vienne tout simplement de easyphp ?
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 37
24 août 2008 à 17:23
es ce que tes fichiers sont dans le même dossier ?

Peut être que ça vient d'easyphp... a tester...

a++

Si la réponse vous convient, pensez : Réponse acceptée !
0
elt93 Messages postés 46 Date d'inscription jeudi 13 mars 2008 Statut Membre Dernière intervention 9 février 2009
24 août 2008 à 17:26
J'ai essayé sur mon site perso en ligne je n'ai pas eu de message d'erreur mais je n'ai trouvé aucune données dans ma table.
0
elt93 Messages postés 46 Date d'inscription jeudi 13 mars 2008 Statut Membre Dernière intervention 9 février 2009
24 août 2008 à 17:48
Enfaites, il ne m'affiche plus le probleme de variable je n'ai plus le message d'erreurs, le code mysql_query fonctionne mais les champs ajoutés dans la bdd sont vides !
En fouillant un peu sur le web j'ai vu quelqu'un qui utilisait cette methode pour recuperer les variables, voici ce que ca donnerait sur mon code :
mysql_query("INSERT INTO tarifs VALUES('', '$_POST[company], etc)");
Ca pourrait être une solution ?
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 37
24 août 2008 à 18:05
c'est exactement la même chose que ce que tu fais...

a++

Si la réponse vous convient, pensez : Réponse acceptée !
0
elt93 Messages postés 46 Date d'inscription jeudi 13 mars 2008 Statut Membre Dernière intervention 9 février 2009
24 août 2008 à 18:08
Ok,
Cest vraiment bizarre c'est comme ci les données du formulaire n'arrive pas au php. Je ne voix pas mais peut-être que j'ai mal fait le formulaire.
Merci encore pour le temps que tu m'accordes !
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 37
24 août 2008 à 18:23
Franchement je ne vois pas...

a++

Si la réponse vous convient, pensez : Réponse acceptée !
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 37
24 août 2008 à 19:06
De rien, justement le dernier message je voulas te mettre ça et puis je me suis sentie con, je me suis dit, que j'allai avor l'air con de dire que ça ne marchait pas a cause d'un attribut...

a++

PS : met ta réponse en réponse acceptée...

Si la réponse vous convient, pensez : Réponse acceptée !
0
elt93 Messages postés 46 Date d'inscription jeudi 13 mars 2008 Statut Membre Dernière intervention 9 février 2009
24 août 2008 à 19:22
A quoi sert la balise enctype et pourquoi elle bloquait les données ?
0
jreaux62 Messages postés 195 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 24 octobre 2011 32
27 août 2008 à 14:02
Une explication ici :
http://www.mediasfrance.org/Activite/Formation/Informatique/sgbd/cours009.html
(voir le paragraphe "ENCTYPE")

(Résumé ici)
ENCTYPE spécifie l'encodage utilisé pour la forme que prendra le contenu du formulaire. Ce paramètre ne peut être utilisé qu'accompagné par la méthode POST. ENCTYPE peut prendre plusieurs valeurs:
<li>ENCTYPE= " application/x-www-form-urlencoded " valeur par défaut; encode le contenu du formulaire selon une forme URL qui est difficilement lisible par le destinataire;
</li><li>ENCTYPE ="text/plain" le contenu du formulaire sera retourné en format texte lisible par le destinataire; option accompagnée le plus souvent de ACTION=mailto:
</li><li>ENCTYPE="multipart/form-data" permet d'expédier un fichier attaché au message.</li>
0