Page 1 sur 2

Problème formulaire qui marche sous FF, mais pas sous IE

Posté : 22 sept. 2010, 14:00
par xavcan
Au secours!!!
je viens de me rendre compte que le formulaire de mon client est ok avec Mozi Firefox mais que IE bloque l'envoi du formulaire. Le form comprend un capcha simple dy type 2+2=
Je ne vois plus rien
Pb de code php avec IE (balises ???)
Merci de me dire
Merci!

voici le code
<?php

// récupération des variables



$i=0;



foreach ($_POST as $key => $value){

if ($i == 0) {$allpost = '&'.$key.'='.$value;}

if ($i>0) {$allpost .= '&'.$key.'='.$value;}



$i++;

}

$name = $_POST['name'];

$tel = $_POST['tel'];

$adresse = $_POST['adresse'];

$ville = $_POST['ville'];

$mail = $_POST['mail'];





$codepostal = $_POST['codepostal'];

$capcha = $_POST['capcha'];



$doc = $_POST['doc'];

$appel = $_POST['appel'];



$desinsectisation = $_POST['desinsectisation'];

$desinfection = $_POST['desinfection'];

$demoustication = $_POST['demoustication'];

$jardin = $_POST['jardin'];

$denrees = $_POST['denrees'];



$deratisation1 = $_POST['deratisation'];



$depigeonnage = $_POST['depigeonnage'];

$chauvesouris = $_POST['chauvesouris'];



$preventif = $_POST['preventif'];

$curatif = $_POST['curatif'];

$charpentes = $_POST['charpentes'];

$art = $_POST['art'];



$franchise = $_POST['franchise'];



$message = $_POST['message'];





// On peuple

if (!empty($desinsectisation)) {$un = '<li>désinsectisation</li>'."\n";}

if (!empty($desinfection)) {$deux = '<li>désinfection</li>'."\n";}

if (!empty($demoustication)) {$trois = '<li>démoustication</li>'."\n";}

if (!empty($jardin)) {$quatre = '<li>traitement des jardins</li>'."\n";}

if (!empty($denrees)) {$onze = '<li>fumigation des denrées stockées</li>'."\n";}



if (!empty($deratisation)) {$cinq = '<li>deratisation</li>'."\n";}

if (!empty($depigeonnage)) {$six = '<li>depigeonnage</li>'."\n";}

if (!empty($chauvesouris)) {$sept = '<li>chauve-souris</li>'."\n";}



if (!empty($preventif)) {$huit = '<li>traitement préventif anti-termites</li>'."\n";}

if (!empty($curatif)) {$neuf = '<li>traitement curatif anti-termites</li>'."\n";}

if (!empty($charpentes)) {$douze = '<li>traitement des charpentes</li>'."\n";}

if (!empty($art)) {$treize = '<li>fumigation du mobilier et des objets d\'art</li>'."\n";}



if (!empty($franchise)) {$dix = '<li>demande d\'informations sur la franchise</li>'."\n";}



if (!empty($doc)) {$doc = 'oui';} else {$doc = 'non';}

if (!empty($appel)) {$appel = 'oui';} else {$appel = 'non';}







$html = '<h3>Données client :</h3><span style="text-transform:uppercase; font-size:large;">'.$name.'</span></strong><br />';

$html .= 'Téléphone: '.$tel.'<br />Adresse: '.$adresse.'<br />Ville: '.$ville.'<br/>Mail : <a href="mailto:'.$mail.'">'.$mail.'</a><br />Code Postal: '.$codepostal.'<br />';

$html .= 'Demande de documentation: '.$doc.'<br />';

$html .= 'Appeler le client pour un devis gratuit: '.$appel.'<br />';

$html .= '<h3>Rendez-vous souhaité:</h3><strong>Le client souhaite un rendez-vous pour:</strong><br />';

$html .= '<ul>'.$un.$deux.$trois.$quatre.$onze.$cinq.$six.$sept.$huit.$neuf.$douze.$treize.$dix.'</ul><br />';

$html .= '<h3>Commentaires : </h3>'.stripslashes(nl2br($message));





if ($capcha == 4) {

if (mb_eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,3}$", $mail) ) {



//header html

$headers = 'MIME-Version: 1.0' . "\n";

$headers .= 'Content-type: text/html; charset=utf-8' . "\n";

$headers .= 'From: "Stopinsectes.com"<[email protected]>'."\n";

$headers .= 'Bcc: [email protected],[email protected]@c-carre.com'."\n";

$reply = $headers.'Reply-to: [email protected]'."\n";



if( mail('[email protected]','Formulaire Stop Insectes', $html, $reply) ){

echo '<p><span class="blockquote">les informations on bien été envoyées</span></p>';

}

else{

echo '<p><span class="blockquote">La fonction mail() est désactivée sur ce serveur.</p>';

}



} else {

echo '<p><span class="blockquote">Veuillez vérifier votre adresse mail.</p>';

}



} else {

echo '<p><span class="blockquote">Veuillez vérifier le code de sécurité</p>';

}





?>

Re: PB FORUMIARE QUI NE MARCHE PAS AVEC ie MAIS FF YES

Posté : 22 sept. 2010, 14:30
par xTG
Et ton formulaire dans tout ça ? ;)

Re: PB FORUMIARE QUI NE MARCHE PAS AVEC ie MAIS FF YES

Posté : 22 sept. 2010, 18:39
par formulaire le voici !
OUPS voici le formulaire
<?php } else { //Formulaire de CONTACT ?>

<script type="text/javascript">

window.addEvent('domready', function() {

	$('myForm').addEvent('submit', function(e) {

		//Prevents the default submit event from loading a new page.

		e.stop();

		//Empty the log and show the spinning indicator.

		$('fiche').set('html', '<p>chargement...</p>')

		//Set the options of the form's Request handler. 

		//("this" refers to the $('myForm') element).

		this.set('send', {

		method:'post',

		onComplete: function(response) { 

			

			$('fiche').set('html', response);

		}});

		//Send the form.

		this.send();

	});	

	var scrollBox1 = new MooScroll({selector:'#scroll'});

	

	

	

	});

</script>

<div id="scroll">

<p><strong>NOS AGENCES<br /> nord: 0262 30 74 46 | ouest 0262 24 54 95 | sud: 0262 49 40 64</strong></p>

<?php if (class_exists('MailPress')) MailPress::form(); ?>  

<form id="myForm" method="POST" action="http://www.stopinsectes.com/wp-content/themes/StopFinal/send.php" name="formulaire">

<ul id="form">

	<li class="simpleinput"><label>Nom complet:</label><input type="text" name="name"></input></li>

	<li class="simpleinput"><label>Téléphone:</label><input type="text" name="tel"></input></li>

    <li class="simpleinput"><label>Adresse:</label><input type="text" name="adresse"></input></li>

	<li class="simpleinput"><label>Ville:</label><input type="text" name="ville"></input></li>

    <li class="simpleinput"><label>Code Postal:</label><input type="text" name="codepostal"></input></li>

	<li class="simpleinput"><label>Email:</label><input type="text" name="mail"></input></li>

    

	<li><label>Je souhaite:</label>

    <input type="checkbox" name="doc"></input> recevoir une documentation<br />

    <input type="checkbox" name="appel"></input> la visite d'un commercial, pour un diagnostic<br />et un devis gratuit<br />

    </li>



    

    <li><label>Vous souhaitez nous rencontrer pour:</label></li>

    <li><label>Insectes</label>

    <input type="checkbox" name="desinsectisation"></input> désinsectisation<br />

    <input type="checkbox" name="desinfection"></input> désinfection<br />

    <input type="checkbox" name="demoustication"></input> démoustication<br />

	<input type="checkbox" name="jardin"></input> traitement des jardins<br />

	<input type="checkbox" name="denrees"></input> fumigation des denrées stockées<br />

    </li>

    

	<li><label>Rongeurs</label>

    <input type="checkbox" name="deratisation"></input> dératisation

    </li>

    

    <li><label>Pigeons</label>

    <input type="checkbox" name="depigeonnage"></input> dépigeonnage<br />

    <input type="checkbox" name="chauvesouris"></input> chauve-souris<br />

	</li>

    

	<li><label>Termites</label>

    <input type="checkbox" name="preventif"></input> traitement préventif<br />

    <input type="checkbox" name="curatif"></input> traitement curatif<br />

    <input type="checkbox" name="charpentes"></input> traitement des charpentes<br />

    <input type="checkbox" name="art"></input> fumigation mobilier et objets d'art<br />

	</li>

    

    <li><label>Franchise</label>

    <input type="checkbox" name="franchise"></input> merci de m'adresser votre documentation<br />

	</li>

    

	

    <li><label for=message>Commentaires:</label><textarea class="format" name="message" rows="4"></textarea></li>

    <li class="simpleinput"><label>Sécurité:<span style="font-size:11px;"> (combien font 2 + 2?)</span></label><input type="text" name="capcha"></input></li>

    <li><input id="send" type="image" src="<?php bloginfo('template_url'); ?>/img/boutonenvoyer.gif" width="77" height="22" value="submit" border="0" /></li>

   

</ul>

</form>

</div>

<?php } ?>

Re: PB FORUMIARE QUI NE MARCHE PAS AVEC ie MAIS FF YES

Posté : 22 sept. 2010, 18:54
par stealth35
met les balises php stp

Re: PB FORUMIARE QUI NE MARCHE PAS AVEC ie MAIS FF YES

Posté : 22 sept. 2010, 23:26
par Cyrano
met les balises php stp
Ou formulé autrement, regarde ceci

Re: PB FORUMIARE QUI NE MARCHE PAS AVEC ie MAIS FF YES

Posté : 23 sept. 2010, 11:20
par avec les balises , désolé
voici avec les balises
le formulaire est dans une page type
<?php if (class_exists('MailPress')) MailPress::form(); ?>  

<form id="myForm" method="POST" action="http://www.stopinsectes.com/wp-content/themes/StopFinal/send.php" name="formulaire">

<ul id="form">

	<li class="simpleinput"><label>Nom complet:</label><input type="text" name="name"></input></li>

	<li class="simpleinput"><label>Téléphone:</label><input type="text" name="tel"></input></li>

    <li class="simpleinput"><label>Adresse:</label><input type="text" name="adresse"></input></li>

	<li class="simpleinput"><label>Ville:</label><input type="text" name="ville"></input></li>

    <li class="simpleinput"><label>Code Postal:</label><input type="text" name="codepostal"></input></li>

	<li class="simpleinput"><label>Email:</label><input type="text" name="mail"></input></li>

    

	<li><label>Je souhaite:</label>

    <input type="checkbox" name="doc"></input> recevoir une documentation<br />

    <input type="checkbox" name="appel"></input> la visite d'un commercial, pour un diagnostic<br />et un devis gratuit<br />

    </li>



    

    <li><label>Vous souhaitez nous rencontrer pour:</label></li>

    <li><label>Insectes</label>

    <input type="checkbox" name="desinsectisation"></input> désinsectisation<br />

    <input type="checkbox" name="desinfection"></input> désinfection<br />

    <input type="checkbox" name="demoustication"></input> démoustication<br />

	<input type="checkbox" name="jardin"></input> traitement des jardins<br />

	<input type="checkbox" name="denrees"></input> fumigation des denrées stockées<br />

    </li>

    

	<li><label>Rongeurs</label>

    <input type="checkbox" name="deratisation"></input> dératisation

    </li>

    

    <li><label>Pigeons</label>

    <input type="checkbox" name="depigeonnage"></input> dépigeonnage<br />

    <input type="checkbox" name="chauvesouris"></input> chauve-souris<br />

	</li>

    

	<li><label>Termites</label>

    <input type="checkbox" name="preventif"></input> traitement préventif<br />

    <input type="checkbox" name="curatif"></input> traitement curatif<br />

    <input type="checkbox" name="charpentes"></input> traitement des charpentes<br />

    <input type="checkbox" name="art"></input> fumigation mobilier et objets d'art<br />

	</li>

    

    <li><label>Franchise</label>

    <input type="checkbox" name="franchise"></input> merci de m'adresser votre documentation<br />

	</li>

    

	

    <li><label for=message>Commentaires:</label><textarea class="format" name="message" rows="4"></textarea></li>

    <li class="simpleinput"><label>Sécurité:<span style="font-size:11px;"> (combien font 2 + 2?)</span></label><input type="text" name="capcha"></input></li>

    <li><input id="send" type="image" src="<?php bloginfo('template_url'); ?>/img/boutonenvoyer.gif" width="77" height="22" value="submit" border="0" /></li>

   

</ul>

</form>

</div>

<?php } ?>
le fichier send.php
<?php 

// récupération des variables



$i=0;



foreach ($_POST as $key => $value){

    if ($i == 0) {$allpost = '&'.$key.'='.$value;}

    if ($i>0) {$allpost .= '&'.$key.'='.$value;}

    

    $i++;

}

$name = $_POST['name'];

$tel = $_POST['tel'];

$adresse = $_POST['adresse'];

$ville = $_POST['ville'];

$mail = $_POST['mail'];





$codepostal = $_POST['codepostal'];

$capcha = $_POST['capcha'];



$doc = $_POST['doc'];

$appel = $_POST['appel'];



$desinsectisation = $_POST['desinsectisation'];

$desinfection = $_POST['desinfection'];

$demoustication = $_POST['demoustication'];

$jardin = $_POST['jardin'];

$denrees = $_POST['denrees'];



$deratisation1 = $_POST['deratisation'];



$depigeonnage = $_POST['depigeonnage'];

$chauvesouris = $_POST['chauvesouris'];



$preventif = $_POST['preventif'];

$curatif = $_POST['curatif'];

$charpentes = $_POST['charpentes'];

$art = $_POST['art'];



$franchise = $_POST['franchise'];



$message = $_POST['message'];





// On peuple

if (!empty($desinsectisation)) {$un = '<li>désinsectisation</li>'."\n";}

if (!empty($desinfection)) {$deux = '<li>désinfection</li>'."\n";}

if (!empty($demoustication)) {$trois = '<li>démoustication</li>'."\n";}

if (!empty($jardin)) {$quatre = '<li>traitement des jardins</li>'."\n";}

if (!empty($denrees)) {$onze = '<li>fumigation des denrées stockées</li>'."\n";}



if (!empty($deratisation)) {$cinq = '<li>deratisation</li>'."\n";}

if (!empty($depigeonnage)) {$six = '<li>depigeonnage</li>'."\n";}

if (!empty($chauvesouris)) {$sept = '<li>chauve-souris</li>'."\n";}



if (!empty($preventif)) {$huit = '<li>traitement préventif anti-termites</li>'."\n";}

if (!empty($curatif)) {$neuf = '<li>traitement curatif anti-termites</li>'."\n";}

if (!empty($charpentes)) {$douze = '<li>traitement des charpentes</li>'."\n";}

if (!empty($art)) {$treize = '<li>fumigation du mobilier et des objets d\'art</li>'."\n";}



if (!empty($franchise)) {$dix = '<li>demande d\'informations sur la franchise</li>'."\n";}



if (!empty($doc)) {$doc = 'oui';} else {$doc = 'non';}

if (!empty($appel)) {$appel = 'oui';} else {$appel = 'non';}





    

    $html = '<h3>Données client :</h3><span style="text-transform:uppercase; font-size:large;">'.$name.'</span></strong><br />';

    $html .= 'Téléphone: '.$tel.'<br />Adresse: '.$adresse.'<br />Ville: '.$ville.'<br/>Mail : <a href="mailto:'.$mail.'">'.$mail.'</a><br />Code Postal: '.$codepostal.'<br />';

    $html .= 'Demande de documentation: '.$doc.'<br />';

    $html .= 'Appeler le client pour un devis gratuit: '.$appel.'<br />';

    $html .= '<h3>Rendez-vous souhaité:</h3><strong>Le client souhaite un rendez-vous pour:</strong><br />';

    $html .= '<ul>'.$un.$deux.$trois.$quatre.$onze.$cinq.$six.$sept.$huit.$neuf.$douze.$treize.$dix.'</ul><br />';

    $html .= '<h3>Commentaires : </h3>'.stripslashes(nl2br($message));





if ($capcha == 4) {

    if (mb_eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,3}$", $mail) ) {

    

        //header html

        $headers = 'MIME-Version: 1.0' . "\n";

        $headers .= 'Content-type: text/html; charset=utf-8' . "\n";

        $headers .= 'From: "Stopinsectes.com"<[email protected]>'."\n";

        $headers .= 'Bcc: [email protected],[email protected],[email protected]'."\n";

        $reply = $headers.'Reply-to: [email protected]'."\n"; 

        

          if( mail('[email protected]','Formulaire Stop Insectes', $html, $reply) ){

            echo '<p><span class="blockquote">les informations on bien été envoyées</span></p>';

          }

          else{

            echo '<p><span class="blockquote">La fonction mail() est désactivée sur ce serveur.</p>';

          }

          

    } else {

    echo '<p><span class="blockquote">Veuillez vérifier votre adresse mail.</p>';

    }

    

} else {

echo '<p><span class="blockquote">Veuillez vérifier le code de sécurité</p>';

}
?>
merci pour vos réponses.
je ne trouve pas pourquoi ce code ne marche pas avec IE

Re: Problème formulaire qui marche sous FF, mais pas sous IE

Posté : 23 sept. 2010, 11:32
par zeus
Modération :
Merci de ne pas abuser des capitales dans ton titre.
C'est moins lisible et ça n'apporte rien de plus.

Ajouté à l'oubli des balises pour ton code, je trouve que ça fait pas mal.

Peut être que commencer par lire les règlements serait une bonne idée

Re: PB FORUMIARE QUI NE MARCHE PAS AVEC ie MAIS FF YES

Posté : 23 sept. 2010, 11:33
par Cyrano
Déjà en HTML, la balise <input> est une balise dite « vide», donc on écrit pas <input ></input> mais <input /> si on fait du XHTML ou simplement <input> en HTML4

Ensuite, dire « Ça ne marche pas » est tr`s insuffisant, on ne peut pas vraiment savoir de quoi il est au juste question comme problème : problème d'affichage ? problème d'envoi où il ne se passe rien ? autre (et dans ce cas quoi ) ?

Sois clair et précis dans tes questions, ça résoudra les 3/4 du problème pour la simple raison que tu auras bien compris la nature du problème lui-même et il ne restera qu'à trouver le correctif qui est le plus souvent mineur.

Re: Problème formulaire qui marche sous FF, mais pas sous IE

Posté : 23 sept. 2010, 12:05
par désolé cher modérateur
Désolé cher modérateur pour ces deux erreurs de débutant mais l'intention n"était pas de faire "mal" avec ces majuscules et ces erreurs dans le code.

Pour la précision utile : le formulaire en IE n'envoie pas le message et répond par une réponse sur la validité de la réponse au captcha (même si bonne évidement)
vous pouvez essayer sur le site en direct: http://www.stopinsectes.com/corporate/contact/

Merci beaucoup
Xav

Re: Problème formulaire qui marche sous FF, mais pas sous IE

Posté : 23 sept. 2010, 12:13
par Cyrano
Le problème semble se situer au niveau du traitement et non du formulaire lui-même.

Es-tu bien certain de récupérer la bonne valeur du champ de saisie ($_POST['capcha'] : Attention, tu as peut-être écrit $_POST['captcha'] avec un « t » en plus comme il faut l'écrire contrairement à ce que tu as mis en valeur d'attribut name du champ dans le formulaire.

Re: Problème formulaire qui marche sous FF, mais pas sous IE

Posté : 23 sept. 2010, 12:30
par zeus
Désolé cher modérateur pour ces deux erreurs de débutant mais l'intention n"était pas de faire "mal" avec ces majuscules et ces erreurs dans le code.
Je n'ai jamais dit le contraire, mais il n'en reste pas moins que lire les règlements d'un forum quand on arrive dessus, c'est une marque de politesse et de respect qui permet d'éviter les "erreurs de débutants"

Re: Problème formulaire qui marche sous FF, mais pas sous IE

Posté : 23 sept. 2010, 12:33
par xavcan
ben non je l'ai écrit de la même façon de chaque côté.

fichier send.php: $capcha = $_POST['capcha'];
et formulaire : <li class="simpleinput"><label>Sécurité:<span style="font-size:11px;"> (combien font 2 + 2?)</span></label><input type="text" name="capcha"></input></li>

FF reconnait bien mais pas IE avons nous une erreur dans le code avec des balises par exemple?
Merci encore pour ton aide

Re: Problème formulaire qui marche sous FF, mais pas sous IE

Posté : 23 sept. 2010, 13:49
par Cyrano
Donc si la récupération est bonne, que se passe-t-il au niveau du traitement.

Comprends bien que le débogage implique qu'on vérifie ce qui ne fonctionne pas aussi bien que ce qui fonctionne correctement. C'est comme la programmation elle-même, on fait de la logique. Donc on doit cerner l'endroit où se trouve le problème. Tu peux commencer par faire afficher ce qui est reçu, et dans le cas présent avec les deux navigateurs. Dans le début du code qui reçoit les données, ajoute ceci :
echo("<pre>\n");
var_dump($_POST);
echo("</pre>\n");
Essaye ton formulaire avec les deux navigateurs et compare les résultats. Si ils sont identiques en tous points, alors le problème est ailleur et plus loin dans le déroulement du code. S'il y a une différence, alors effectivement le problème est avant dans le formulaire.

Re: Problème formulaire qui marche sous FF, mais pas sous IE

Posté : 23 sept. 2010, 14:03
par xavcan
je vois ça et te réponds. Merci

Re: Problème formulaire qui marche sous FF, mais pas sous IE

Posté : 23 sept. 2010, 14:17
par xavcan
effectivment il y a différence
FF:
array(6) {
["name"]=>
string(6) "xavier"
["mail"]=>
string(18) "[email protected]"
["doc"]=>
string(2) "on"
["franchise"]=>
string(2) "on"
["capcha"]=>
string(1) "4"
["message"]=>
string(11) "test de xav"
}

et IE:
array(0) {
}

donc acte, tu ferais quoi ?