Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème pour moteur de recherche

    25 novembre 2005 à 14:05:22

    Bonjour, je reposte ce sujet, que j'avais déjà posté sur l'ancienne version.
    J'ai pas trop mal avancé sur mon moteur de recherche de news, cependant, il reste des problèmes.

    Voilà l'erreur que j'obtiens actuellement:

    Citation : Erreur


    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/www/sdc/9/2/tsubasadestiny/test/test2.php on line 70
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 6' at line 1



    Voici mon code (avec la ligne 70 en gras):

    <gras></gras>
    <?php
    if(isset($_POST['texte_entre']))
    {
    $texte_entre = htmlentities($_POST['texte_entre']);
    mysql_connect("localhost", "", "");
    mysql_select_db("");

    if(isset($_GET['page']) AND is_numeric($_GET['page']))
    {
    $page=$_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse
    }
    else // La variable n'existe pas, c'est la première fois qu'on charge la page
    {
    $page=1; // On se met sur la page 1
    }
    //__________________ ON CALCULE LE NUMERO DU PREMIER RESULTAT A AFFICHER __________________
                    $premier_resultat=($page-1)*6;
                   
      $nombre_resultats_par_page = 6;
       
    $reponse=mysql_query("SELECT * FROM news WHERE titre LIKE'%$texte_entre%' OR contenu LIKE '%$texte_entre%' ORDER BY id DESC LIMIT $premier_resultat ,  $nombre_resultats_par_page");


    while ($donnees = mysql_fetch_assoc($reponse))
    {

    ?>

    <p>
      <table align="center" class="news" width="440" border="0">
      <tr><td>
        <font face="verdana" size="2">
            <?php echo stripslashes($donnees['titre']); ?> |
            le <em> <?php echo date('d/m/Y H\hi', $donnees['timestamp']); ?></em>,
            par <em><?php echo stripslashes($donnees['pseudo']); ?></em>
            </font>
            </td></tr>
        </table>
       
        <br>
        <table align="center" class="news" width="440" border="0">
        <tr><td>
        <font face="verdana" size="2">
        <?php
        // On enlève les éventuels antislash PUIS on crée les entrées en HTML (<br />)
        $contenu = nl2br(stripslashes($donnees['contenu']));
        echo $contenu;
    }


    }

        ?></font>
        </td></tr></table>
    <?php


    mysql_connect("localhost", "", "");
    mysql_select_db("");
    $nombre_resultats_par_page = 6;
    $retour=mysql_query("SELECT COUNT(*) as nombre_resultats FROM news WHERE titre LIKE'%$texte_entre%' OR contenu LIKE '%$texte_entre%' ORDER BY id DESC LIMIT $premier_resultat ,  $nombre_resultats_par_page");
    $donnees=mysql_fetch_assoc($retour) or die(mysql_error());
    $nombre_resultats=$donnees['nombre_resultats'];
    //__________________ ON COMPTE LE NOMBRE DE PAGES NECESSAIRES __________________
                        $nombre_pages=ceil($donnees['nombre_resultats']/$nombre_resultats_par_page);
                     
                       
    //__________________ ON AFFICHE LE NOMBRE DE PAGES NECESSAIRES __________________
                            echo '<p>Pages : ';
                            for ($i=1;$i<=$nombre_pages;$i++)
                            {
                                echo '<a href="test2.php?page='.$i.'">'.$i.'</a>&nbsp;';
                            }
                       

    ?>


    Est ce que vous pouvez m'aider, s'il vous plait ?

    Merci.
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      25 novembre 2005 à 15:14:47

      j'y comprend rien à ton code dsl
      • Partager sur Facebook
      • Partager sur Twitter
        25 novembre 2005 à 15:40:59

        Salut

        Déjà essaye ceci :
        $reponse=mysql_query('
        SELECT * FROM `news`
        WHERE `titre` LIKE "%'
        .$texte_entre.'%"
        OR `contenu` LIKE "%'
        .$texte_entre.'%"
        ORDER BY `id` DESC
        LIMIT '
        .$premier_resultat.', '.$nombre_resultats_par_page
        ) or exit(mysql_error());


        Entre nous Harry Zak, si tu n'as rien à dire, ne dit rien

        Bon courage
        • Partager sur Facebook
        • Partager sur Twitter
          25 novembre 2005 à 17:01:14

          Pour T@kniX :
          - pourquoi tu échappes le noms des colonnes dans la requête ?
          - pour le limit, pas besoin des ' autour de valeurs passées
          • Partager sur Facebook
          • Partager sur Twitter
            25 novembre 2005 à 18:51:20

            Merci pour les réponses, mais, T@kniX, je pense que l'erreur vient plutôt de la 2ème requête:

            $retour=mysql_query("SELECT COUNT(*) as nombre_resultats FROM news WHERE titre LIKE'%$texte_entre%' OR contenu LIKE '%$texte_entre%' ORDER BY id DESC LIMIT $premier_resultat ,  $nombre_resultats_par_page");


            Mercià ceux qui m'aideront. :)
            • Partager sur Facebook
            • Partager sur Twitter
              25 novembre 2005 à 20:09:03


              $retour=mysql_query("SELECT COUNT(*) as nombre_resultats FROM news WHERE titre LIKE '%".$texte_entre."%' OR contenu LIKE '%".$texte_entre."%' ORDER BY id DESC LIMIT ".$premier_resultat,$nombre_resultats_par_page);
              • Partager sur Facebook
              • Partager sur Twitter
                25 novembre 2005 à 21:03:59

                Merci Bison.
                Cependant, cela me fait deux erreurs:

                Citation : erreur

                Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /var/www/sdc/9/2/tsubasadestiny/test/test2.php on line 69

                Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/www/sdc/9/2/tsubasadestiny/test/test2.php on line 70


                mais seulement pour les liens des pages
                ^^;
                • Partager sur Facebook
                • Partager sur Twitter
                  25 novembre 2005 à 21:47:09

                  Lu,
                  ajouts un mysql_error(); apres ton mysql_query();

                  ex : mysql_query('...') or die(mysql_error());

                  comme ca tu auras ton erreur en texte clair
                  • Partager sur Facebook
                  • Partager sur Twitter
                    25 novembre 2005 à 22:05:01

                    Salut, voilà, je l'ai fait et voici l'erreur:

                    Citation : erreur

                    Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /var/www/sdc/9/2/tsubasadestiny/test/test2.php on line 69

                    • Partager sur Facebook
                    • Partager sur Twitter
                      25 novembre 2005 à 22:11:07

                      Salut !
                      Tu peux modifier ton script comme ceci est nous donner l'erreur ?

                      <?php
                      $query = "SELECT COUNT(*) as nombre_resultats FROM news WHERE titre LIKE '%".$texte_entre."%' OR contenu LIKE '%".$texte_entre."%' ORDER BY id DESC LIMIT ".$premier_resultat.",".$nombre_resultats_par_page;
                      $result = mysql_query($query) or die('Erreur SQL !<br/>'.$query.'<br/>'.mysql_error());


                      Merci !
                      • Partager sur Facebook
                      • Partager sur Twitter
                        25 novembre 2005 à 22:24:56

                        Salut.

                        Voilà l'erreur:

                        Citation : erreur

                        Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/www/sdc/9/2/tsubasadestiny/test/test2.php on line 72



                        Merci de m'aider. :)
                        • Partager sur Facebook
                        • Partager sur Twitter
                          26 novembre 2005 à 10:31:44

                          Citation : Bison

                          Pour T@kniX :
                          - pourquoi tu échappes le noms des colonnes dans la requête ?
                          - pour le limit, pas besoin des ' autour de valeurs passées



                          Il est vrai que de ce cas là ce n'est pas utile mais si les noms de colonne (ou d table etc...)contiennent des caractères spéciaux il vaut mieux le faire.

                          Les ' pour le limit n'entourent pas les valeurs mais servent à la concaténation. ^^


                          Citation : Bison


                          $retour=mysql_query("SELECT COUNT(*) as nombre_resultats FROM news WHERE titre LIKE '%".$texte_entre."%' OR contenu LIKE '%".$texte_entre."%' ORDER BY id DESC LIMIT ".$premier_resultat,$nombre_resultats_par_page);


                          Ton code pourrait être plus optimisé.
                          En effet, dans un texte entouré par ", php recherche les variables qui pourraient y être (car on peut faire echo "La variable vaut $var";)
                          Alors que si tu entoures ton texte pas des ', php sait qu'il ne contient pas de variables d'où un temps de traitement plus court.

                          Optimisée, ta requête serait :
                          $retour=mysql_query('SELECT COUNT(*) as nombre_resultats FROM news WHERE titre LIKE "%'.$texte_entre.'%" OR contenu LIKE "%'.$texte_entre.'%" ORDER BY id DESC LIMIT '.$premier_resultat.', '.$nombre_resultats_par_page);


                          Amicalement

                          T@kniX
                          • Partager sur Facebook
                          • Partager sur Twitter
                            26 novembre 2005 à 10:34:14

                            Tu ne nous a pas afficher la requête avec le message d'erreur !
                            • Partager sur Facebook
                            • Partager sur Twitter
                              26 novembre 2005 à 10:38:03

                              Citation : T@kniX

                              Il est vrai que de ce cas là ce n'est pas utile mais si les noms de colonne (ou d table etc...)contiennent des caractères spéciaux il vaut mieux le faire.


                              Et pourquoi y aurait-il des caractères spéciaux dans les noms de table et de colonnes ?
                              Caractères alphanumériques et l'underscore, rien d'autre ! ;)

                              Le seul moment où c'est vraiment utile c'est dans le cas des mots réservés à mysql.
                              Mais là encore, pas besoin de les utiliser pour nommer table et colonnes. :-°

                              Enfin, oui... penser correctement et certains, ça ne fait pas bon ménage ! :p

                              Citation : T@kniX

                              Les ' pour le limit n'entourent pas les valeurs mais servent à la concaténation.


                              Arf ouais... mal vu, scuse !
                              • Partager sur Facebook
                              • Partager sur Twitter
                                26 novembre 2005 à 11:02:40

                                Personnellement je n'utilise également que des caractères alpha-numériques et l'underscore mais comme je ne sais pas ce que les autres font (et quand on voit comment certains codent on peut s'inquiéter), je préfère conseiller de protéger les noms de tables et de colonnes.

                                D'un autre côté je le fais également moi même car il n'y a pas de perte temps lors du traitement et je trouve ça plus propre.
                                Enfin après c'est une question de goût.

                                Pas de soucis ;)

                                Par contre, tu as compris ce que j'ai voulu dire pour la différence de temps de traitement entre le texte entouré de " et celui entouré de ' ?

                                Amicalement

                                T@kniX
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  26 novembre 2005 à 11:10:18

                                  Merci pour l'optimisation T@kniX.

                                  Mais j'ai remarqué un truc sur ma requête.

                                  La "LIMIT" ne sert à rien donc je l'ai enlevé et l'erreur n'apparait plus.
                                  Cependant, dans les pages suivantes, il n'y a pas les news suivantes.

                                  J'ai vraiment beaucoup de mal avec ce petit moteur de recherche. ^^;
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    27 novembre 2005 à 15:33:12

                                    Fais ceci
                                    $reponse=mysql_query('SELECT * FROM `news` WHERE `titre` LIKE "%'.$texte_entre.'%" OR `contenu` LIKE "%'.$texte_entre.'%" ORDER BY `id` DESC LIMIT '.$premier_resultat.', '.$nombre_resultats_par_page) or exit(mysql_error());


                                    Et ceci :
                                    $retour=mysql_query('SELECT COUNT(*) as nombre_resultats FROM news WHERE titre LIKE "%'.$texte_entre.'%" OR contenu LIKE "%'.$texte_entre.'%"');


                                    Ca devrait fonctionner.

                                    Amicalement

                                    T@kniX
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      27 novembre 2005 à 15:49:27

                                      Malheureusement, ça marche pas. Image utilisateur

                                      Si tu veux voir ce que ça fait: http://tsubasadestiny.free.fr/test/formulaire.php
                                      Tape "screen" dans le formulaire. Des que tu arrives sur la page des résultats, essaye de changer de page. ^^;
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        27 novembre 2005 à 16:50:41

                                        L'erreur vient de ceci : $texte_entre = htmlentities($_POST['texte_entre']);

                                        Je m'explique : quand tu tapes ta recherche dans le formulaire, ta variable existe mais dès que tu cliques sur un lien vers une autre page, elle n'existe plus.

                                        Pour les moteurs de recherches, le mieux est d'utiliser la method get pour le formulaire.

                                        if(isset($_GET['texte_entre']))
                                        {
                                        $texte_entre = htmlentities($_GET['texte_entre']);
                                        // Et ensuite...
                                        //__________________ ON AFFICHE LE NOMBRE DE PAGES NECESSAIRES __________________
                                                                echo '<p>Pages : ';
                                                                for ($i=1;$i<=$nombre_pages;$i++)
                                                                {
                                                                    echo '<a href="test2.php?page='.$i.'&amp;texte_entre='.$texte_entre.'">'.$i.'</a>&nbsp;';
                                                                }


                                        Voilà

                                        Bon courage

                                        Amicalement

                                        T@kniX
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          27 novembre 2005 à 17:20:38

                                          Décidément, ce moteur de recherche est vraiment casse-********...

                                          Alors, avec GET, les liens des pages n'apparaissent plus. j'ai donc essayé de mettre POST à la place. Les liens des pages réapparaissent, cependant, quand on clique dessus, on a une page vide. :(
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            27 novembre 2005 à 18:14:01

                                            Redonne nous voir ton code complet s'il te plaît.
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              27 novembre 2005 à 18:27:57

                                              Le voilà:

                                              <?php
                                              if(isset($_POST['texte_entre']))
                                              {
                                              $texte_entre = htmlentities($_POST['texte_entre']);
                                              mysql_connect("localhost", "", "");
                                              mysql_select_db("");

                                              //__________________ SI L'AFFICHAGE D'UNE PAGE PRECISE EST DEMANDE __________________
                                                             if(isset($_GET['page']))
                                                             {
                                                                 //__________________ SI LE NUMERO DE PAGE N'EST PAS VIDE __________________
                                                                 if(!empty($_GET['page']))
                                                                 {
                                                                     $page=intval($_GET['page']);
                                                                 }
                                                                 //__________________ SI LE NUMERO DE PAGE EST VIDE __________________
                                                                 if(empty($_GET['page']))
                                                                 {
                                                                     //__________________ ON RETOURNE LA PREMIERE PAGE __________________
                                                                     $page=1;
                                                                 }
                                                             }
                                                             //__________________ SI AUCUNE PAGE PRECISE N'EST DEMANDEE __________________
                                                             if(!isset($_GET['page']))
                                                             {
                                                                 //__________________ ON RETOURNE LA PREMIERE PAGE __________________
                                                                 $page=1;
                                                             }
                                              //__________________ ON CALCULE LE NUMERO DU PREMIER RESULTAT A AFFICHER __________________
                                                              $premier_resultat=($page-1)*6;
                                                             
                                                                      $nombre_resultats_par_page = 6;
                                                                                     
                                              $reponse=mysql_query('SELECT * FROM `news` WHERE `titre` LIKE "%'.$texte_entre.'%" OR `contenu` LIKE "%'.$texte_entre.'%" ORDER BY `id` DESC LIMIT '.$premier_resultat.', '.$nombre_resultats_par_page) or exit(mysql_error());

                                              while ($donnees = mysql_fetch_assoc($reponse))
                                              {

                                              ?>

                                              <p>
                                                <table align="center" class="news" width="440" border="0">
                                                <tr><td>
                                                  <font face="verdana" size="2">
                                                      <?php echo stripslashes($donnees['titre']); ?> |
                                                      le <em> <?php echo date('d/m/Y H\hi', $donnees['timestamp']); ?></em>,
                                                       par <em><?php echo stripslashes($donnees['pseudo']); ?></em>
                                                      </font>
                                                      </td></tr>
                                                  </table>
                                                 
                                                  <br>
                                                  <table align="center" class="news" width="440" border="0">
                                                  <tr><td>
                                                  <font face="verdana" size="2">
                                                  <?php
                                                  // On enlève les éventuels antislash PUIS on crée les entrées en HTML (<br />)
                                                  $contenu = nl2br(stripslashes($donnees['contenu']));
                                                  echo $contenu;
                                                     

                                                  ?></font>
                                                  </td></tr></table>
                                              <?php
                                              }


                                              }

                                              mysql_connect("localhost", "", "");
                                              mysql_select_db("");
                                              $nombre_resultats_par_page = 6;
                                              //$retour=mysql_query("SELECT COUNT(*) as nombre_resultats FROM news WHERE titre LIKE '%".$texte_entre."%' OR contenu LIKE '%".$texte_entre."%' ORDER BY id DESC LIMIT ".$premier_resultat,$nombre_resultats_par_page) or die(mysql_error());
                                              $retour=mysql_query('SELECT COUNT(*) as nombre_resultats FROM news WHERE titre LIKE "%'.$texte_entre.'%" OR contenu LIKE "%'.$texte_entre.'%"');
                                              $donnees=mysql_fetch_assoc($retour) or die(mysql_error());
                                              $nombre_resultats=$donnees['nombre_resultats'];
                                              //__________________ ON COMPTE LE NOMBRE DE PAGES NECESSAIRES __________________
                                                                  $nombre_pages=ceil($donnees['nombre_resultats']/$nombre_resultats_par_page);
                                                               
                                                                  if(isset($_GET['texte_entre']))
                                              {
                                              $texte_entre = htmlentities($_GET['texte_entre']);
                                              //__________________ ON AFFICHE LE NOMBRE DE PAGES NECESSAIRES __________________
                                                                          echo '<p>Pages : ';
                                                                      for ($i=1;$i<=$nombre_pages;$i++)
                                                                      {
                                                                          echo '<a href="test2.php?page='.$i.'&amp;texte_entre='.$texte_entre.'">'.$i.'</a>&nbsp;';
                                                                  }
                                              }
                                              ?>


                                              (j'ai remis le GET)
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                27 novembre 2005 à 18:34:32

                                                Lis ce que je te donne :
                                                if(isset($_GET['texte_entre']))
                                                {
                                                $texte_entre = htmlentities($_GET['texte_entre']);

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  27 novembre 2005 à 18:48:19

                                                  ah, d'accord, je n'avais pas compris.^^;

                                                  Voilà le code maintenant:

                                                  <?php
                                                  if(isset($_GET['texte_entre']))
                                                  {
                                                  $texte_entre = htmlentities($_GET['texte_entre']);


                                                  mysql_connect("localhost", "", "");
                                                  mysql_select_db("");

                                                  //__________________ SI L'AFFICHAGE D'UNE PAGE PRECISE EST DEMANDE __________________
                                                                 if(isset($_GET['page']))
                                                                 {
                                                                     //__________________ SI LE NUMERO DE PAGE N'EST PAS VIDE __________________
                                                                     if(!empty($_GET['page']))
                                                                     {
                                                                         $page=intval($_GET['page']);
                                                                     }
                                                                     //__________________ SI LE NUMERO DE PAGE EST VIDE __________________
                                                                     if(empty($_GET['page']))
                                                                     {
                                                                         //__________________ ON RETOURNE LA PREMIERE PAGE __________________
                                                                         $page=1;
                                                                     }
                                                                 }
                                                                 //__________________ SI AUCUNE PAGE PRECISE N'EST DEMANDEE __________________
                                                                 if(!isset($_GET['page']))
                                                                 {
                                                                     //__________________ ON RETOURNE LA PREMIERE PAGE __________________
                                                                     $page=1;
                                                                 }
                                                  //__________________ ON CALCULE LE NUMERO DU PREMIER RESULTAT A AFFICHER __________________
                                                                  $premier_resultat=($page-1)*6;
                                                                 
                                                                          $nombre_resultats_par_page = 6;
                                                                                         
                                                  $reponse=mysql_query('SELECT * FROM `news` WHERE `titre` LIKE "%'.$texte_entre.'%" OR `contenu` LIKE "%'.$texte_entre.'%" ORDER BY `id` DESC LIMIT '.$premier_resultat.', '.$nombre_resultats_par_page) or exit(mysql_error());

                                                  while ($donnees = mysql_fetch_assoc($reponse))
                                                  {

                                                  ?>

                                                  <p>
                                                    <table align="center" class="news" width="440" border="0">
                                                    <tr><td>
                                                      <font face="verdana" size="2">
                                                          <?php echo stripslashes($donnees['titre']); ?> |
                                                          le <em> <?php echo date('d/m/Y H\hi', $donnees['timestamp']); ?></em>,
                                                           par <em><?php echo stripslashes($donnees['pseudo']); ?></em>
                                                          </font>
                                                          </td></tr>
                                                      </table>
                                                     
                                                      <br>
                                                      <table align="center" class="news" width="440" border="0">
                                                      <tr><td>
                                                      <font face="verdana" size="2">
                                                      <?php
                                                      // On enlève les éventuels antislash PUIS on crée les entrées en HTML (<br />)
                                                      $contenu = nl2br(stripslashes($donnees['contenu']));
                                                      echo $contenu;
                                                         

                                                      ?></font>
                                                      </td></tr></table>
                                                  <?php
                                                  }


                                                  }

                                                  mysql_connect("localhost", "", "");
                                                  mysql_select_db("");
                                                  $nombre_resultats_par_page = 6;
                                                  //$retour=mysql_query("SELECT COUNT(*) as nombre_resultats FROM news WHERE titre LIKE '%".$texte_entre."%' OR contenu LIKE '%".$texte_entre."%' ORDER BY id DESC LIMIT ".$premier_resultat,$nombre_resultats_par_page) or die(mysql_error());
                                                  $retour=mysql_query('SELECT COUNT(*) as nombre_resultats FROM news WHERE titre LIKE "%'.$texte_entre.'%" OR contenu LIKE "%'.$texte_entre.'%"');
                                                  $donnees=mysql_fetch_assoc($retour) or die(mysql_error());
                                                  $nombre_resultats=$donnees['nombre_resultats'];
                                                  //__________________ ON COMPTE LE NOMBRE DE PAGES NECESSAIRES __________________
                                                                      $nombre_pages=ceil($donnees['nombre_resultats']/$nombre_resultats_par_page);
                                                                   
                                                                     
                                                  //__________________ ON AFFICHE LE NOMBRE DE PAGES NECESSAIRES __________________
                                                                              echo '<p>Pages : ';
                                                                          for ($i=1;$i<=$nombre_pages;$i++)
                                                                          {
                                                                              echo '<a href="test2.php?page='.$i.'&amp;texte_entre='.$texte_entre.'">'.$i.'</a>&nbsp;';
                                                                      }

                                                  ?>

                                                  C'était comme ça qu'il fallait faire, c'est ça ?

                                                  EDIT:

                                                  ça marche presque à la perfection, cependant, il doit falloir que je modifie l'action dans mon formulaire car j'arrive sur la page test2.php et donc forcément, il n'y a rien.
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    27 novembre 2005 à 18:51:34

                                                    Ca à l'air...

                                                    Est-ce que ça fonctionne ?
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      27 novembre 2005 à 18:58:05

                                                      Oui, ça fonctionne presque à la perfection, cependant, j'ai un problème au niveau de l'action du formulaire qui m'emmène sur la page test2.php et donc il y a rien sur cette page.
                                                      Il doit falloir faire un truc du genre:

                                                      <form action="test2.php?page=1&texte_entre=je sais pas quoi" method="POST">
                                                      <input type="text" size="30" name="texte_entre"/>
                                                      <input type="submit" value="Chercher" onchange="window.open(this.value)"/>
                                                      </form>

                                                      mais du coup, il faut que je mette du php dans ma page formulaire, non ?
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        27 novembre 2005 à 19:09:40

                                                        <form action="test2.php" method="get">
                                                        <input type="text" size="30" name="texte_entre"/>
                                                        <input type="submit" value="Chercher" onchange="window.open(this.value)"/>
                                                        </form>


                                                        Le ?page=1 n'est pas utile étant donné que tu le vérifies sur l'autre page.

                                                        Ca tu aurais pu trouvé avec un petit effort : si je remplace post par get il faut simplement faire pareil dans le formulaire.
                                                        Je me demande même si ce n'est pas dans les cours.
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          27 novembre 2005 à 19:33:22

                                                          Ah vi, en effet. Merci beaucoup, ça fonctionne. :)

                                                          J'aurai une dernière question: comme tu peux le voir, j'ai mis un onchange="window.open(this.value)" au bouton, mais ça ne m'ouvre pas une autre fenêtre. Comment ça se fait ?

                                                          Merci.
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter

                                                          Problème pour moteur de recherche

                                                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                          • Editeur
                                                          • Markdown