Contact form

Bonsoir je m adresse a vous car je n arrive pas a trouver pourquoi certaines variables ne marchent pas ds mon contact form
Y a t il quelqu’un qui peux me dire ou j ai fauté :wink:
La variable produit ne fonctionne pas
et le Control des différentes rubrique ne fonctionne pas correctement
Ai je loupé un truc?
D’avance 1000 merci pour votre aide

  • Voici le code html
Votre Nom:
Votre Téléphone:
Votre Email:
Votre Pays:
Selection du pays Belgique France> Autre
												<div class="rowi">
													Votre Produit:<br />
													<select name="product" class="input"style="width: 232px">
													<option selected="selected">
													Selection du produit</option>
													<option>prod1</option>
													<option>prod2</option>
													<option>prod3</option>
													<option>Autre</option>
													</select>
												</div>
												<div class="rowt">
													Votre Message:<br />
													<textarea name="message" onfocus="if (value == 'Message requis') {value =''}" onblur="if (value == '') {value = 'Message requis'}" style="height: 99px" >Message requis</textarea><br />
													<a href="#" class="button button3" onclick="document.getElementById('ContactForm').reset()"><span><span>
													Effacer</span></span></a><a href="#" class="button button3" onclick="document.getElementById('ContactForm').submit()"><span><span>Envoyer</span></span></a>
												</div>
											</form>
  • le code PHP
<?php $header="Contact Form"; $headers="From:"."n"; $headers.='Content-type: text/html; charset=iso-8859-1'; $nom=$_GET['name']; $tel=$_GET['tel']; $mail=$_GET['email']; $country=$_GET['country']; $product=$_GET['productc']; $message=$_GET['message']; $votremail="support@dentasoft.be"; $sujet="Contact Form - DENTASOFT"; $corpmail="Une demande d'assistance vient de vous etre envoye"; // on verifie que la personne a entre son nom, son adresse mail,... if ($nom=="Nom requis" or $tel=="Telephone requis" or $email=="Email requis" or $product="Selection du produit" or $message=="Message requis" ) echo "Veuillez completer les champs suivants

"; { if($nom=="Nom requis") { echo "Nom
" ;} if($tel=="Telephone requis") { echo "Téléphone
" ;} if($mail=="Email requis") { echo "Email
" ;} if($product=="Selection du produit") { echo "Produit
" ;} if($message=="Message requis") { echo "Message
";} //Si tous les champs sont bien remplis, on vérifie que le format de l'adresse mail est valide else { $pt = strpos($mail,"."); $aro = strpos($mail,"@"); if($pt == '') {echo "Verifiez votre email
";} elseif($aro == ''){echo "Verifiez votre email
";} // Si tout est OK, le mail est envoye else { mail("$votremail","$sujet", " Formulaire $corpmail

Nom : $name
Telephone : $tel
Email : $email
Pays : $country
Produit : $product


Message
$message
" ,$headers); echo "merci pour votre message" ;} } } ?>

Il faut d’abord que tu détermines si le pb vient du côté formulaire ou du retraitement par le php.
Tu as vérifié que ce que tu passes avec le GET est bien ce que tu en attends ?

oui en fait toute les variable passe ds le php a part la varaible product
Lorsque je selectionne par exemple prod1; il passe ds le code php Selection du produit alors qu’il devrait passé normalement le prod1

C’est pour cela que je ne vois pas ou il y a une erreur

Merci pour votre aide

D’après ton code php, tu ne l’utilises nulle part, ton input ‘product’
Par contre, il vient d’où le ‘productc’ qui te sert à remplir $product ?

oui sorry faute de frappe productc = product
j ai change ca mais ca ne regle pas le probleme :frowning: grrrr

Tu as quoi, comme erreur ?
Une faute de syntaxe ? à quelle ligne ?
Parce que dans ton code, en plus du $productc, je vois des $email et $name qui devraient te bloquer avant le lancement de l’exécution

Salut,

tu peux nous faire un var_dump($_GET) tout de suite après récupération du formulaire ?
Il me semble que select utilise un tableau pour renvoyer ses données.

En y regardant de plus près, je pense qu’il il marche très bien, ton programme
Du moins il fait ce que tu lui demandes de faire.
Il te dit que tu n’as pas entré de valeur pour product ?

Regarde du côté de cette ligne :
if ($nom==“Nom requis” or $tel==“Telephone requis” or $email==“Email requis” or $product=“Selection du produit” or $message==“Message requis” )

C’est le
$product=“Selection du produit”
qui te pose problème
Edité le 16/05/2013 à 18:59

justement c’est la que ça cloche :slight_smile:
En fait il bloque sur tout sauf sur le $product
lorsque je le teste la variable récupère “Selection du produit” sans le me donné par exemple produit X que j ai selectionné sur la page html

En plus il devrait bloque puisque je luis dit
if ($nom==“Nom requis” or $tel==“Telephone requis” or $email==“Email requis” or $product=“Selection du produit” or $message==“Message requis” )

et pourtant il passe au travers

Merci pour passer du temps a essayer de m aider
Edité le 16/05/2013 à 23:16

Oui, justement :
Quelque soit la valeur que tu passes dans le Get, à cette ligne là tu l’écrases par “Selection du produit”
Et tout de suite derrière tu fais un test en disant que tu veux rejeter cette valeur …

Ne pas confondre ‘=’ et ‘==’

Oke donc je dois faire ceci?
if ($nom==“Nom requis” or $tel==“Telephone requis” or $email==“Email requis” or $product==“Selection du produit” or $message==“Message requis” )

Si oui ca ne marche pas plus …

Oui, c’est bien ça.
Et il te dit toujours de compléter Produit ?

Insère une ligne echo() de ta variable après ce test (et avant la verif du mail) pour t’assurer qu’elle a bien la valeur que tu en attends