Page 1 sur 1

PHP pour un formulaire d'envoi

Posté : 17 juin 2009, 16:41
par MichelVH39
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.

Posté : 17 juin 2009, 16:47
par charabia
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 (suite)

Posté : 17 juin 2009, 17:03
par MichelVH39
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..

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

Posté : 17 juin 2009, 18:03
par charabia
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 !

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

Posté : 17 juin 2009, 19:06
par MichelVH39
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

Posté : 17 juin 2009, 19:13
par charabia
De rien ;)

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