[Résolu] Un formulaire qui fonctionne 1 fois sur 10 sur IE

Petit nouveau ! | 4 Messages

04 oct. 2010, 12:09

Salut à tous,

Alors voilà je développe un petit annuaire d'entreprise en php et j'ai une contrainte qui n'est pas des moindre ^^ : il faut que mon script fonctionne a 100% sous IE7.

Voilà mon problème :
J'ai fait un formulaire très simple qui va rechercher en base oracle le nom et/ou prénom d'une personne.
Or la validation du formulaire m'actualise la page 9 fois sur 10 et ne m'affiche pas le résultat de la page. Ce que je n'arrive pas a comprendre c'est que de temps en temps la recherche s'affiche ^^.
(Juste pour information sous firefox la recherche s'effectue à tout les coups)

Voici mon index.php :

Code : Tout sélectionner

<?php require_once("inc/common.php"); ?> <!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=utf-8" /> <title>Annuaire CHET : Accueil</title> <link rel="stylesheet" type="text/css" href="styles/style_annuaire.css"/> </head> <body> <div id="corps"> <?php include("header.php"); switch($_GET['pages']) { case 'blanches': include("pages_blanches.php"); break; case 'jaunes': include("pages_jaunes.php"); break; default: echo('<div class="news"> <div class="logo_news"></div> <h1>Bienvenue dans l\'annuaire du personnel CHET</h1> <h2>Description des fonctions :</h2> <p>- Pages blanches : Recherche d\'une personne par son nom et/ou prénom<br /> - Pages jaunes : Recherche du personnel à partir de sa structure/service<br /> </p> </div>'); break; } include('footer.php'); ?> </div> </body> </html>
et voici mon fichier "page_blanche.php" (le fichier concerné) :

Code : Tout sélectionner

<?php if(!defined("CHET")) exit; ?> <link rel="stylesheet" type="text/css" href="styles/style_pagesblanches.css"/> <div id="page_blanche"> <div id="titre_page_blanche"> <div class="titre"><img src="img/img_pagesblanches.png" /> Pages blanches</div> <div id="clearer10"></div> <div id="clearer10"></div> </div> <form id="formulaire" name="formulaire" method="post" action="index.php?pages=blanches" onsubmit="var keywords = document.formulaire.nom.value; if(keywords.length < 3) { alert('Vous devez saisir 3 caractères minimum pour effectuer la recherche'); return false; } else return true;"> <label for="nom">Nom/Prénom : </label> <input id="nom" name="nom" type="text" value="" /> <input id="bouton" name="bouton" value="Rechercher" type="submit" /> </form> <?php if($_POST) { /* MON CODE DE RECHERCHE ICI */ } ?> </div>
Donc a mon avis je pense que le problème viens du formulaire car sous FF pas de problème mais bien jouer microsoft ^^

Enfin bref, j'ai donc besoin de votre aide pour trouver le problème car moi j'en perd mon latin.

Merci d'avance,
Modifié en dernier par barbuslex le 05 oct. 2010, 11:17, modifié 1 fois.

ViPHP
AB
ViPHP | 5818 Messages

04 oct. 2010, 19:03

Je vois pas, tu devrais utiliser les balises PHP pour que ton code soit plus lisible...
Sinon il y a une erreur dans ton code dans le sens où if($_POST) sera toujours vérifié, il faudrait écrire if (count($_POST)> 0 ) si tu veux une condition qui soit valide si une variable post a effectivement été envoyée.

Petit nouveau ! | 4 Messages

05 oct. 2010, 10:25

Apparament il faut attendre un petit moment entre chaques recherche pour que cela fonctionne...

Aidez moi svp...

Petit nouveau ! | 4 Messages

05 oct. 2010, 11:16

C'est bon j'ai trouver la solution !

En fait il s'agissait du plugin pour apache mod_auth_ssspi 1.04 qui fait BUG IE avec la method POST.

Pour résoudre le problème il faut rajouter cette ligne dans le .htaccess :

Code : Tout sélectionner

SSPIPerRequestAuth On
Ce qui donne au final un .htacces identique a celui ci :

Code : Tout sélectionner

Options None Order allow,deny Allow from all AuthName "Accès restreint" AuthType SSPI SSPIAuth On SSPIAuthoritative On SSPIOfferBasic On SSPIPerRequestAuth On require valid-user