Formulaire de recherche ne marche pas sous Internet Explorer

Eléphanteau du PHP | 34 Messages

18 juin 2010, 10:15

Pour que mes visiteurs puissent exécuter des recherches dans ma table d'actualités, j'ai mis en place un petit formulaire où on peut choisir la catégorie ou soit taper un mot clé. Si aucun résultat n'est trouvé, il y a un message d'erreur.
Bref, ceci était pour expliquer le fonctionnement. Mais mon problème est que ce formulaire ne fonctionne pas sous Internet Explorer. La page se recharge mais ne change pas, et pourtant que ça soit sur Firefox ou Google Chrome, tout fonctionne correctement.
Donc pour moi, mon code est correct, donc je suis un peu perdu sur les raisons de ce dysfonctionnement sur Internet Explorer.

Je vous mets donc le code du formulaire en question :

Code : Tout sélectionner

<?php /* *********************************** FORMULAIRE DE RECHERCHE *************************************/ // Si on a une recherche qui est demandée, on formate les champs if(isset($_POST['send']) && $_POST['send'] == '') { $categorie = trim($_POST['categorie']); $mots = trim($_POST['mots']); } ?> <form action="http://localhost/cer-swtor/actualites/" method="post" enctype="multipart/form-data"> <p> <select name="categorie" id="categorie" class="select"> <option value="" selected="selected" style="font-weight: bold;" >Faites votre choix</option> <option value="9">La Guilde CER</option><option value="10">&nbsp;|--&nbsp;Organisation</option><option value="11">&nbsp;|--&nbsp;Recrutement</option><option value="1">Star Wars The Old Republic</option><option value="6">&nbsp;|--&nbsp;Biographies</option><option value="4">&nbsp;|--&nbsp;Chronologie</option><option value="2">&nbsp;|--&nbsp;Classes</option><option value="5">&nbsp;|--&nbsp;DevBlog</option><option value="3">&nbsp;|--&nbsp;Planètes</option><option value="8">&nbsp;|--&nbsp;Populations</option><option value="7">&nbsp;|--&nbsp;Webcomic</option> </select> &nbsp;<input name="send" type="image" class="bouton" value="Rechercher" style="margin-top: 6px;" src="http://localhost/cer-swtor/web/img/templates/b_ok.png" /> </p> <p> <input name="mots" type="text" id="mots" size="20" class="input" value="" />&nbsp;<input name="send" type="image" class="bouton" value="Rechercher" style="margin-top: 1px;" src="http://localhost/cer-swtor/web/img/templates/b_search.png" /> </p> <p> &raquo; <a href="http://localhost/cer-swtor/actualites/">Réinitialiser l'affichage des actualités</a> </p> </form>
Ensuite donc mon code qui traite ma requête sur ma page actualités :

Code : Tout sélectionner

// SI ON A FAIT UNE RECHERCHE if (isset($_POST['send'])) { // Si ça vient du champ "mots" et du formulaire de recherche if ($_POST['mots']) { // Header de la page $url_bg_img = 'news_index'; // Contenu du sous-menu $sous_menu = '<li>Module de diffusion des holo-actualités sur le réseau de la Section</li>'; // On insère le haut de page include('inc/templates/header.web.php'); // Les éléments du contenu gauche $image_left = 'news_index'; // Le nom de l'image $texte_left = ''; // Le texte qui accompagne la page // On insère le côté gauche de la page include ('inc/templates/left/actualites.php'); // Titre de la page $titre_page = '<img src="' . CHEMIN_SITE . '/img/titles/recherche_resultat.png" width="637" height="22" alt="Résultat de la recherche dans la base de données" class="titre" />'; // Réglage pour l'affichage verticale des résultats $req = sqlquery('SELECT COUNT(id_news) AS nbr FROM cer_news WHERE (valid_news = 1) AND (phrase_news LIKE \'%' . $mots . '%\' OR intro_news LIKE \'%' . $mots . '%\' OR titre_news LIKE \'%' . $mots . '%\') AND publication_news <= NOW()', 1); // On revoit la requête SQL suite à la recherche $news_query = sqlquery('SELECT id_news, titre_news, publication_news, phrase_news, auteur_news, valid_news, pseudo_membre, id_categorie, parent_categorie, nom_categorie, categorie_news FROM cer_news LEFT JOIN cer_membres ON auteur_news = id_membre LEFT JOIN cer_categories ON categorie_news = id_categorie WHERE (valid_news = 1) AND (phrase_news LIKE \'%' . $mots . '%\' OR intro_news LIKE \'%' . $mots . '%\' OR titre_news LIKE \'%' . $mots . '%\') AND publication_news <= NOW() ORDER BY publication_news DESC', 2); // Définition du message d'erreur $message = 'Aucune actualité n\'a été trouvé selon vos critères sur le réseau.<hr /><a href="'.CHEMIN_LINK.'/actualites/" title="Afficher toutes les actualités">Afficher toutes les actualités</a>'; } // Si ça vient du champ "mots" et du formulaire de recherche elseif ($_POST['categorie']) { // Header de la page $url_bg_img = 'news_index'; // Contenu du sous-menu $sous_menu = '<li>Module de diffusion des holo-actualités sur le réseau de la Section</li>'; // On insère le haut de page include('inc/templates/header.web.php'); // Les éléments du contenu gauche $image_left = 'news_index'; // Le nom de l'image $texte_left = ''; // Le texte qui accompagne la page // On insère le côté gauche de la page include ('inc/templates/left/actualites.php'); // Titre de la page $titre_page = '<img src="' . CHEMIN_SITE . '/img/titles/recherche_resultat.png" width="637" height="22" alt="Résultat de la recherche dans la base de données" class="titre" />'; // Réglage pour l'affichage verticale des résultats $req = sqlquery('SELECT COUNT(id_news) AS nbr FROM cer_news WHERE (valid_news = 1) AND (categorie_news LIKE \''.$categorie.'\') AND publication_news <= NOW()', 1); // On revoit la requête SQL suite à la recherche $news_query = sqlquery('SELECT id_news, titre_news, publication_news, phrase_news, auteur_news, valid_news, pseudo_membre, id_categorie, parent_categorie, nom_categorie, categorie_news FROM cer_news LEFT JOIN cer_membres ON auteur_news = id_membre LEFT JOIN cer_categories ON categorie_news = id_categorie WHERE (valid_news = 1) AND (categorie_news LIKE \''.$categorie.'\') AND publication_news <= NOW() ORDER BY publication_news DESC', 2); // Définition du message d'erreur $message = 'Aucune actualité n\'a été trouvé selon vos critères sur le réseau.<hr /><a href="'.CHEMIN_LINK.'/actualites/" title="Afficher toutes les actualités">Afficher toutes les actualités</a>'; } elseif ($_POST['categorie'] == '' && $_POST['mots'] == '') { // Header de la page $url_bg_img = 'news_index'; // Contenu du sous-menu $sous_menu = '<li>Module de diffusion des holo-actualités sur le réseau de la Section</li>'; // On insère le haut de page include('inc/templates/header.web.php'); // Les éléments du contenu gauche $image_left = 'news_index'; // Le nom de l'image $texte_left = ''; // Le texte qui accompagne la page // On insère le côté gauche de la page include ('inc/templates/left/actualites.php'); // Titre de la page $titre_page = '<img src="' . CHEMIN_SITE . '/img/titles/recherche_resultat.png" width="637" height="22" alt="" class="titre" />'; // Définition du message d'erreur $message = 'Aucune actualité n\'a été trouvé selon vos critères sur le réseau.<hr /><a href="'.CHEMIN_LINK.'/actualites/" title="Afficher toutes les actualités">Afficher toutes les actualités</a>'; } }

Ne faites pas attention à certaines variables qui sont pour ma mise en page :)

Merci de votre aide.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

18 juin 2010, 13:06

Bonjour,

Tu as posté dans le forum "PHP avancé" donc tu es sensé avoir déjà effectué des recherches sur la cause de ton soucis.

=> As-tu fais un print des variables en entrées $_POST $_GET ?
=> Où cela bloque-t-il?
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 34 Messages

18 juin 2010, 13:11

les $_POST passent bien en tout cas sur Firefox mais sur Internet Explorer la page recharge sans qu'une recherche ne soit effectuée...

PS : et oui j'ai fait quelques recherches avant, sinon je n'aurai pas posté.