Aller au contenu

Sujets conseillés

Posté

Il faut qu'on m'explique là, je ne comprends plus rien. J'ai un formulaire de demande de renseignements sur un site immobilier.

Il y a une vérification en javascript et si c'est bon je renvoie sur la même page avec un test en PHP pour vérifier la présence de variable dans l'URL pour ensuite traiter les données. Fonctionne très bien sous FF et Safari mais pas du tout sous IE alors que le test est fait du cpoté du serveur, cela devrait être identique ?!!

La page en question est ici :

http://www.immobilier-gers.com/envoyer_ami2.php?id=64

Mon code source :

<div id="contenu_popup">

<?php

if (!isset($_GET['nom']))

{

?>

<form action="envoyer_ami.php" method="get" name="amigo" onsubmit="return sendAmigo()";>

<input name="id" type="hidden" value="<?= $_GET['id']?>" />

<table width="450" border="0" cellspacing="0" cellpadding="20">

<tr>

<td width="131" class="form_align_r">* <?= $lang['amigo_nom'] ?></td>

<td width="233"><input name="nom" type="text" class="inputxt" onfocus="this.className='inputxt_focus';" onblur="this.className='inputxt';" /></td>

</tr>

<tr>

<td class="form_align_r">* <?= $lang['amigo_ami'] ?></td>

<td><input name="ami" type="text" class="inputxt" onfocus="this.className='inputxt_focus';" onblur="this.className='inputxt';" /></td>

</tr>

<tr>

<td class="form_align_r">* <?= $lang['amigo_email'] ?></td>

<td><input name="email" class="inputxt" type="text" onfocus="this.className='inputxt_focus';" onblur="this.className='inputxt';" /></td>

</tr>

<tr>

<td class="form_align_r"><?= $lang['amigo_mess'] ?></td>

<td> </td>

</tr>

<tr>

<td colspan="2"><textarea name="message" onfocus="this.className='textarea_focus';" onblur="this.className='';"></textarea></td>

</tr>

<tr>

<td> </td>

<td><input value="valider" src="img/bt_valid_<?= $lg ?>.png" name="valid" type="image" width="115" height="23" class="bt" /></td>

</tr>

</table>

</form>

<?php

}

else

{

if (!empty($_GET['nom'])) {$nom = $_GET['nom'];} else { $error = 1;}

if (!empty($_GET['ami'])) {$ami = $_GET['ami'];} else { $error = 1;}

if (!empty($_GET['email'])) {$email = $_GET['email'];} else { $error = 1;}

$idbien = $_GET['id'];

if (!empty($_GET['message'])) {$message = $_GET['message'];}

if (!isset($error))

{

IE reloade la page et réaffiche le formulaire sans passer par les tests PHP :wacko:

Avez vous une explication SVP ?

Merci beaucoup par avance.

Posté

Je viens de tester ta page et je ne vois pas 36 explications possibles :blush:

Ce n'est pas le script PHP qui pose problème mais le Javascript (ce qui est plausible vu qu'il peut être interprété différemment selon le navigateur).

Essaie de valider un formulaire vide dans les 2 navigateurs ... le résultat est très parlant pour moi.

Comme tu précises dans ta demande, un code serveur est exécuté par le serveur ... et donc ne dépend pas des ressources client :)

Du coup j'ai préféré abandonner le Javascript ... je sais pas pourquoi :hypocrite:

Posté

Salut,

Je voulais juste te conseiller de mettre un htmlentities à tes données GET :

 if (!empty($_GET['nom'])) {$nom = htmlentities($_GET['nom'], ENT_QUOTES);} else { $error = 1;}
if (!empty($_GET['ami'])) {$ami = htmlentities($_GET['ami'], ENT_QUOTES);} else { $error = 1;}
if (!empty($_GET['email'])) {$email = htmlentities($_GET['email'], ENT_QUOTES);} else { $error = 1;}
$idbien = $_GET['id'];
if (!empty($_GET['message'])) {$message = htmlentities($_GET['message'], ENT_QUOTES);}

Histoire que les visiteurs n'entrent pas du code dans ta page.

Cordialement,

Mikiman

Posté
Salut,

Je voulais juste te conseiller de mettre un htmlentities à tes données GET :

Merci pour ton conseil.

Je viens de tester ta page et je ne vois pas 36 explications possibles :blush:

Ce n'est pas le script PHP qui pose problème mais le Javascript (ce qui est plausible vu qu'il peut être interprété différemment selon le navigateur).[...]

J'ai eu le même raisonnement que toi mais en supprimant le javascript sur la page d'origine j'ai le même problème :unsure: Avez vous le même souci sur ces deux pages avec IE ?

Avec ou sans javascript IE ne veut pas valider ma page, c'est dingue quand même, j'en perds mon latin.

Posté

Maintenant, la page avec le Javascript fonctionne dans les 2 navigateurs ! :P

J'ai une erreur sur la page qui ne comprend pas le script en question dans IE ! :whistling:

Posté

Ne me demandez pas pourquoi mais en supprimant le focus automatique au chargement de la page cela ne se produit plus !

L'objet du problème...

<body onLoad="document.amigo.nom.focus()">

Merci microsoft...

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...