Champ de recherche avec condition à l'envoie de la valeur

Résolu
nebjix -  
astuces72 Messages postés 2146 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Il y a sur mon site un champ de recherche Google avec le code suivant :

<form method="get" action="http://www.google.fr/search" target="_blank">
<input name="q" size="31" maxlength="50" value="Racherche Google" type="text">
<input name="hl" value="fr" type="hidden">
<input name="btnG" value="Recherche" type="submit">
</form>


Je voudrais ajouter une condition pour que lors de la recherche d'un certain mot, ça ne recherche pas ce mot sur Google mais renvoie à une certaine page.

Une sorte de "mot magique".

Est-ce possible ?

Merci pour vos réponses.

Nebjix

4 réponses

  1. astuces72 Messages postés 2146 Date d'inscription   Statut Membre Dernière intervention   1 669
     
    hello

    je viens de faire ça.
    change le mot "magique" que j'ai mis par celui que tu veux.
    if (document.search_form.q.value == "magique") {
    change true par false:
    return(true); affiche le message et une fois la fenêtre fermer redirection de page ou message
    return(false); affiche le message et une fois la fenêtre fermer, reste sur la page et stop.
    onFocus="javascript:this.value=''" vide ton champ au clic de la souris, c'est quand même mieux.
    document.search_form.q.style.backgroundColor = "#990"; change la couleur du champ, inutile mais c'est pas grave :)

    ici c'est la redirection de page.
    //alert("Vous avez entrer le mot magique");
    window.location = "https://www.commentcamarche.net/"
    et la le message uniqueme,t:
    alert("Vous avez entrer le mot magique");
    //window.location = "https://www.commentcamarche.net/"

    <script language="JavaScript">   
    function controle() {   
     if (document.search_form.q.value == "magique") {   
      //alert("Vous avez entrer le mot magique");   
      window.location = "https://www.commentcamarche.net/"   
      document.search_form.q.style.backgroundColor = "#990";   
     return(false);   
     }   
    }   
    </script>   
    <form name="search_form" method="get" action="https://www.google.fr/webhp?gws_rd=ssl" target="_blank" onSubmit="return controle();">   
    <input name="q" size="31" maxlength="50" value="Recherche Google" type="text" onKeyUp="javascript:change_couleur(this);" onFocus="javascript:this.value=''"/>   
    <input name="hl" value="fr" type="hidden">   
    <input name="btnG" value="Recherche" type="submit">   
    </form>


    après tu fais bien comme tu veux de ce script
    en php c'est possible aussi, mais ça oblige à valider le formulaire.
    :)
    0
  2. astuces72 Messages postés 2146 Date d'inscription   Statut Membre Dernière intervention   1 669
     
    ou en php

    <form name="search_form" method="POST" action=""  >
    <input name="q" size="31" maxlength="50" value="Recherche Google" type="text" onFocus="javascript:this.value=''">
    <input name="btnG" value="Recherche" type="submit">
    </form>
     <?php
     if (isset($_POST['btnG']))
    	{
    $q = htmlspecialchars($_POST['q']);
    if ($q == "magique")
    {
    echo '<meta http-equiv="refresh" content="0;URL=http://www.commentcamarche.net">';
    
    }
    	else
    	{
    echo '<meta http-equiv="refresh" content="0;URL=https://www.google.fr/webhp$q.'&hl=fr">';
    	}
    	}
    ?>
    0
  3. nebjix
     
    Merci pour tes réponses Astuce72

    Ta première solution ne me convien pas puisque mon serveur
    (pagesperso-orange.fr)ne suporte pas le php.
    Ta seconde solution est parfaite, je l'ai juste modifier affin qu'elle ouvre une fenetre aprés l'alert (qui n'est pas obligatoire).
    Voici mon code final

    <script language="JavaScript">
    function controle() {
    	if (document.search_form.q.value == "mot magique")	{
    	alert("ATTENTION !\n Vous avez entrtré le mot \"mot magique\" \n Ceci vous permet d'accédé à la page magique.")
    	window.open("http://monsite.fr/page_magique.html"); 
    	return(false);
    	}
    }
    </script>
    <form name="search_form" method="get" action="http://www.google.fr/search" target="_blank" onSubmit="return controle();">
    <input name="q" size="31" maxlength="50" value="Recherche Google" type="text" onFocus="javascript:this.value=''"/>
    <input name="hl" value="fr" type="hidden">
    <input name="btnG" value="Recherche" type="submit">
    </form>
    


    Sujet résolu
    Merci
    Nebjix
    0
  4. astuces72 Messages postés 2146 Date d'inscription   Statut Membre Dernière intervention   1 669
     
    ba de rien :)
    0