PHP pour un formulaire d'envoi

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : PHP pour un formulaire d'envoi

par charabia » 17 juin 2009, 19:13

De rien ;)

Content d'avoir pu t'aider. N'oublies pas de mettre Résolu.

C'est cool ! J'ai fini par trouver.. Merci..

par MichelVH39 » 17 juin 2009, 19:06

Désolé de vous avoir paru un peu impatient,
mais mon boss partait en congé jusqu'à Lundi
Je devais absolument avoir la réponse.
J'ai été agréablement surpris de la rapidité de votre réponse.

Tout fonctionne parfaitement !

A+
Michel

Re: PHP pour un formulaire d'envoi (suite)

par charabia » 17 juin 2009, 18:03

J'aimerais obtenir la version corrigée du PHP pour le français !
J'ai peur de faire des mauvais changements.. :roll:
Je suis désolé ce n'est pas dans le jargon phpfrance ! On ne donne pas un kit prêt d'emploi mais on aide les gens à corriger leurs fautes.

Je t'ai dit plus haut qu'il te manquait la fonction VerifieForm(). Tu dois juste la récupérer sur le code anglais et l'ajouter au code français. Je ne vois pas trop ce qu'il y a de difficile...

De plus tu ne supprimes rien donc on peut dire que tu ne risques pas grand chose.

Allez quand il faut y aller il faut y aller !

PHP pour un formulaire d'envoi (suite)

par MichelVH39 » 17 juin 2009, 17:03

J'aimerais obtenir la version corrigée du PHP pour le français !
J'ai peur de faire des mauvais changements.. :roll:


Voici ce qu'il dit pour la version en anglais ...

Code PHP du formulaire...

<html>

<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1" />
<title>Information Form for: <? print(stripcslashes(htmlentities($nomDuProduit))); ?></title>
<style type="text/css" media="all">
<!--
.para { color: black; font-size: 11px; font-family: Arial, Helvetica; line-height: 17px; text-align: justify; }
.italic { font-style: italic; padding-top: 6px; }
.lineunderandover { border-top: 1px dashed black; border-bottom: 1px dashed black; }
.lineunder { border-bottom: 1px solid black; }
.champ {
color: black;
font-size: 10px;
font-family: Arial, Helvetica;
line-height: normal;
background-color: #779CA2;
}
.btn { font-size: 14px; font-family: Arial, Helvetica; font-weight: bold; line-height: normal; }
-->
</style>
<script language="JavaScript"><!--
function CocheLeBoutonM() {
document.FormulaireProduit.elements[0].checked = true;
}

function MetLeCurseur() {
document.FormulaireProduit.champPrenom.focus();
}

function EffaceChampMagazine() {
document.FormulaireProduit.champ_magazine.value = '';
}

function VerifieForm() {
// script onClick et onSubmit...
if (document.FormulaireProduit.champPrenom.value == '') {
alert('You must enter your first name');
document.FormulaireProduit.champPrenom.focus();
return false;
}
else if (document.FormulaireProduit.champNom.value == '') {
alert('You must enter your last name');
document.FormulaireProduit.champNom.focus();
return false;
}
else if (document.FormulaireProduit.champCie.value == '') {
alert('You must enter your company');
document.FormulaireProduit.champCie.focus();
return false;
}
else if (document.FormulaireProduit.champPays.value == '') {
alert('You must enter your country');
document.FormulaireProduit.champPays.focus();
return false;
}
else if (document.FormulaireProduit.champCourriel.value.indexOf('@') == -1) {
alert('You must enter your email address. \nIt will stay confidential.');
document.FormulaireProduit.champCourriel.select();
return false;
}
else if (document.FormulaireProduit.champTelephone.value == '') {
alert('You must enter your phone number');
document.FormulaireProduit.champTelephone.focus();
return false;
}
else if (document.FormulaireProduit.btn_sondage[6].checked == true) {
if (document.FormulaireProduit.champ_magazine.value == '') {
alert('You must enter which magazine');
document.FormulaireProduit.champ_magazine.focus();
return false;
}
else {
alert('Your data is being processed. \nThank you!');
document.FormulaireProduit.submit();
return true;
}
}
else {
alert('Your data is being processed. \nThank you!');
document.FormulaireProduit.submit();
return true;
}
}



//-->
</script>
</head>

<body style="background-image:url('backFormulaireQuotation.gif');" onLoad="JavaScript:CocheLeBoutonM(); MetLeCurseur();">
<div style="position:relative; width:600px; height:530px;">
<div style="position:absolute; top:0px; left:0px; width:599px;">
<div class="para"> If you would like to obtain pricing or more information
for<br />
<? print(stripcslashes(htmlentities($_GET['nomDuProduit']))." "); ?>from
the <? print(htmlentities($_GET['departement']).' department'); ?>, <br />
please fill out the form below: </div>
</div>
<div style="position:absolute; top:55px; left:0px; width:588px; height:461px;">
<form id="FormulaireProduit" class="para" action="recupProduitProcess.php" method="post" name="FormulaireProduit" onSubmit="JavaScript: return VerifieForm();">
<table width="435" align="left" cellspacing="0" cellpadding="0" border="0">
<tr valign="bottom">
<td colspan="3" class="para"> <input type="radio" name="btn_genre" value="Mr" tabindex="1">
Mr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="radio" name="btn_genre" value="Ms" tabindex="2">
Ms
<input type="radio" name="btn_genre" value="Mrs" tabindex="3">
Mrs </td>
</tr>
<tr valign="bottom">
<td width="145" class="para"> * First name:<br> <input class="champ" type="text" name="champPrenom" size="24" tabindex="3">
&nbsp; <input type="hidden" name="hiddenNomDuProduit" value="<? print(htmlentities($nomDuProduit)); ?>">
&nbsp;&nbsp; <input type="hidden" name="hiddenDepartement" value="<? print(htmlentities($departement)); ?>">
&nbsp; </td>
<td width="145" valign="top" class="para">* Last name:<br> <input class="champ" type="text" name="champNom" size="24" tabindex="4">
</td>
<td width="145" valign="top" class="para"> * Company:<br> <input class="champ" type="text" name="champCie" size="24" tabindex="5">
</td>
</tr>
<tr valign="bottom">
<td width="145" valign="top" class="para"> * Country:<br> <input class="champ" type="text" name="champPays" size="24" tabindex="6">
<br> </td>
<td width="145" valign="top" class="para"> * Email:<br> <input class="champ" type="text" name="champCourriel" size="24" tabindex="7">
<br> </td>
<td width="145" valign="top" class="para"> * Phone:<br> <input type="text" class="champ" name="champTelephone" size="24" tabindex="8">
<br> </td>
</tr>
<tr>
<td colspan="3" class="para"> <br>
* Questions and comments:<br> <textarea class="champ" name="champCommentaires" rows="4" style="width:280px;" tabindex="9"></textarea>
<br> </td>
</tr>
<tr valign="bottom">
<td colspan="3" class="para"> <br /> <b>SURVEY <br />
How did you hear about GENEQ inc.?</b> <br /> <input type="radio" name="btn_sondage" value="bouche" tabindex="10" onClick="JavaScript:EffaceChampMagazine();">
&nbsp; Word of mouth &nbsp;&nbsp; <input type="radio" name="btn_sondage" value="courriel" tabindex="11" onClick="JavaScript:EffaceChampMagazine();">
&nbsp; Emailing &nbsp;&nbsp; <input type="radio" name="btn_sondage" value="moteur" tabindex="12" onClick="JavaScript:EffaceChampMagazine();">
&nbsp; Search engine </td>
</tr>
<td colspan="3" class="para"> <input type="radio" name="btn_sondage" value="catalogue" tabindex="13" onClick="JavaScript:EffaceChampMagazine();">
&nbsp; Catalog received in the mail &nbsp;&nbsp; <input type="radio" name="btn_sondage" value="fournisseur" tabindex="14" onClick="JavaScript:EffaceChampMagazine();">
&nbsp; Referred by a supplier <br /> <input type="radio" name="btn_sondage" value="expo" tabindex="15" onClick="JavaScript:EffaceChampMagazine();">
&nbsp; Trade show </td>
</tr>
<tr valign="bottom">
<td colspan="3" class="para"> <input type="radio" name="btn_sondage" value="magazine" tabindex="16" onFocus="JavaScript:document.FormulaireProduit.champ_magazine.select();">
&nbsp; Printed ad and if so, in which magazine&nbsp;&nbsp;&nbsp; <input type="text" class="champ" name="champ_magazine" size="24" tabindex="17">
</td>
</tr>
<tr valign="bottom">
<td colspan="3" class="para">
<table width="434" border="0" cellspacing="0" cellpadding="1">
<tr>
<td><font size="1">
<input type="button" name="btnSoumettre" value="Submit" tabindex="18" onClick="JavaScript:VerifieForm();">
</font></td>
<td><i><font size="1">(Please note that the results of this survey
are compiled anonymously<br />
in order to narrow our marketing efforts. Thank you for completing
it!)</font></i> <font size="1"><br />
</font></td>
</tr>
</table>

</td>
</tr>
</table>
</form>
</div>
</div>
</bo
dy>
</html>


VOUS me sauvez la vie si je peux réparer cela rapidement !!
Merci..

par charabia » 17 juin 2009, 16:47

Houlà 3 fois le même message ! Tu peux effacer les autres toi-même.

Utilise les bbcodes pour colorer ton code.

Ton souci : tu fais un onclick sur ton bouton submit. Ce dernier renvoi vers une fonction javascript VerifieForm() qui n'existe pas sur ta page.

Regarde donc la version anglaise et récupère cette fonction.

PHP pour un formulaire d'envoi

par MichelVH39 » 17 juin 2009, 16:41

Bonjour,

J'ai un formulaire PHP qui ne ne fonctionne plus.
J'ai une version en anglais et en français sur le site que met à jour.

La version en français ne fonctionne pas !!
Le formulaire est en PHP.
Je ne suis pas programmeur PHP, je veux juste corrigé un petite erreur.

Exemple de produit du site :

http://www.geneq.com/catalog/en/fil-kmtx20pp_fr.html (FRANÇAIS)
http://www.geneq.com/catalog/en/fil-kmtx20pp.html (ANGLAIS)

Après avoir cliqué sur demande de soumission (français) :
le bouton soummettre ne fonctionne pas !

Voici le code du formulaire PHP en français....

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>GENEQ INC. : Demande d'une soumission ou information suppl&eacute;mentaire</title>
<style type="text/css">
<!--
.champ { color: black;
font-size: 10px;
font-family: Arial, Helvetica;
line-height: normal;
background-color: #779CA2;
}
.para {color: black; font-size: 11px; font-family: Arial, Helvetica; line-height: 17px; text-align: justify; }
.style8 {color: black; font-size: 11px; font-family: Arial, Helvetica; line-height: 17px; text-align: justify; font-weight: bold; }
.style9 {font-size: 10px}
-->
</style>
</head>

<body>
<div style="position:relative; width:600px; height:450px;">
<div style="position:absolute; top:0px; left:0px; width:599px; background-color: #FFFFFF; layer-background-color: #FFFFFF; border: 1px none #000000;">
<div class="para"> Si vous d&eacute;sirez obtenir une soumission ou de l'information suppl&eacute;mentaire sur :<br />
<? print(stripcslashes(htmlentities($_GET['nomDuProduit']))." "); ?>du d&eacute;partement <? print(htmlentities($_GET['departement'])); ?>, <br />
<strong>veuillez remplir le formulaire suivant : </strong></div>
</div>
<div style="position:absolute; top:66px; left:0px; width:515px; height:369px;">
<form id="FormulaireProduit" class="para" action="file:///Mac (Michel Van Hoye)/Users/geneq/Desktop/recupProduitProcess.php" method="post" name="FormulaireProduit" onsubmit="JavaScript: return VerifieForm();">
<table width="435" align="left" cellspacing="0" cellpadding="0" border="0">
<tr valign="bottom">
<td colspan="3" class="para"><input type="radio" name="btn_genre" value="Mr" tabindex="1" />
Mme&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" name="btn_genre" value="Ms" tabindex="2" />
Mlle
<input type="radio" name="btn_genre" value="Mrs" tabindex="3" />
Mr </td>
</tr>
<tr valign="bottom">
<td width="145" class="para"> * Pr&eacute;nom:<br />
<input class="champ" type="text" name="champPrenom" size="24" tabindex="3" />
&nbsp;
<input type="hidden" name="hiddenNomDuProduit" value="<? print(htmlentities($nomDuProduit)); ?>" />
&nbsp;&nbsp;
<input type="hidden" name="hiddenDepartement" value="<? print(htmlentities($departement)); ?>" />
&nbsp; </td>
<td width="145" valign="top" class="para">* Nom:<br />
<input class="champ" type="text" name="champNom" size="24" tabindex="4" /></td>
<td width="145" valign="top" class="para"> * Compagnie:<br />
<input class="champ" type="text" name="champCie" size="24" tabindex="5" /></td>
</tr>
<tr valign="bottom">
<td width="145" valign="top" class="para"> * Pays:<br />
<input class="champ" type="text" name="champPays" size="24" tabindex="6" />
<br /></td>
<td width="145" valign="top" class="para"> * Courriel:<br />
<input class="champ" type="text" name="champCourriel" size="24" tabindex="7" />
<br /></td>
<td width="145" valign="top" class="para"> * T&eacute;l&eacute;phone:<br />
<input type="text" class="champ" name="champTelephone" size="24" tabindex="8" />
<br /></td>
</tr>
<tr>
<td colspan="3" class="para"><br />
* Questions et commentaires:<br />
<textarea class="champ" name="champCommentaires" rows="4" style="width:280px;" tabindex="9"></textarea>
<br /></td>
</tr>
<tr valign="bottom">
<td colspan="3" class="para"><br />
<b>SONDAGE <br />
Comment avez-vous d&eacute;couvert GENEQ inc. ? </b> <br />
<input type="radio" name="btn_sondage" value="bouche" tabindex="10" onclick="JavaScript:EffaceChampMagazine();" />
&nbsp; Bouche &agrave; oreille&nbsp;&nbsp;
<input type="radio" name="btn_sondage" value="courriel" tabindex="11" onclick="JavaScript:EffaceChampMagazine();" />
&nbsp; Courriel publicitaire&nbsp;&nbsp;
<input type="radio" name="btn_sondage" value="moteur" tabindex="12" onclick="JavaScript:EffaceChampMagazine();" />
&nbsp; Moteur de recherche</td>
</tr>
<tr>
<td colspan="3" class="para"><input type="radio" name="btn_sondage" value="catalogue" tabindex="13" onclick="JavaScript:EffaceChampMagazine();" />
&nbsp; Catalogue re&ccedil;u par la poste&nbsp;&nbsp;
<input type="radio" name="btn_sondage" value="fournisseur" tabindex="14" onclick="JavaScript:EffaceChampMagazine();" />
&nbsp; Ref&eacute;r&eacute; par un fournisseur <br />
<input type="radio" name="btn_sondage" value="expo" tabindex="15" onclick="JavaScript:EffaceChampMagazine();" />
&nbsp; Exposition commerciale</td>
</tr>
<tr valign="bottom">
<td colspan="3" class="para"><input type="radio" name="btn_sondage" value="magazine" tabindex="16" onfocus="JavaScript:document.FormulaireProduit.champ_magazine.select();" />
&nbsp; Publicit&eacute; magazine, si oui, lequel ? &nbsp;&nbsp;&nbsp;
<input type="text" class="champ" name="champ_magazine" size="24" tabindex="17" /></td>
</tr>
<tr valign="bottom">
<td colspan="3" class="para"><table width="434" border="0" cellspacing="0" cellpadding="1">
<tr>
<td><font size="1">
<input type="button" name="btnSoumettre" value="Soumettre" tabindex="18" onclick="JavaScript:VerifieForm();" />
</font></td>
<td>&Agrave; noter que les r&eacute;sultats du sondage sont compil&eacute;s de fa&ccedil;on anonyme<br />
afin de mieux cibler nos efforts marketing. Merci d'y r&eacute;pondre !) </td>
</tr>
</table></td>
</tr>
</table>
</form>
</div>
</div>
</bod
y>
</html>


QUE DOIS-JE FAIRE pour que ça fonctionne comme en anglais ???

Merci !
Michel.