Moteur php

lerecheur -  
 celine -
salut a tous j'eesaye de creer un moteur de recherche sans base de donnée (sql) juste un pti truc en local et j'ai recuperer qlq script qui me permettent de le faire fonctionner par contre j'ai un message d'erreur que je n'arrive pas a resoudre si qlq'un a une illumination et peu m'eclairer

voila le message
Notice: Undefined variable: requete in c:\program files\easyphp1-7\www\planete\testm\resultats.php on line 55

et voila la parti du script ou il me dit qu'il y'a une erreur

/ *******************************************************************************
// Affichage d'un message d'avertissement dans le cas de figure où l'utilisateur
// a activé la recherche sans avoir préalablement saisi de requête ($requete est nul)
// *******************************************************************************

if(!$requete) {
print("<center>\n");
print("<font face=\"$policeResultats\" size=\"-1\" color=\"$couleurPoliceResultats\">\n");
print("Vous avez activé la recherche sans avoir préalablement saisi votre requête.<br>");
print("<a href=\"moteur.php\">Cliquez ici</a> pour effectuer une nouvelle recherche.<br>\n");
print("</font>\n");
print("</center>\n");
}

else {

// *******************************************************************************
// Cas de figure où l'utilisateur a bien saisi une requête
// *******************************************************************************

// *******************************************************************************
// Analyse de la requête et préparation de la recherche. La requête (entrée par
// l'utilisateur dans la valeur $requete) est décomposée en une série de mots clés,
// stockés dans les tableaux $expressions et $motsCles
// *******************************************************************************

// === Premier nettoyage de la requête formulée par l'utilisateur ===

$requete=trim(stripslashes($requete));

merci d'avance

17 réponses

  1. grofwa Messages postés 440 Statut Membre 479
     
    Salut,

    Ca veut juste dire que ta variable $requete n'est pas initialisée.
    Si tu appelles ce script depuis une autre page, il faut que tu passes à ce script une valeur (via un formulaire très probablement).

    Michael.

    Ne vous souciez pas de n'être pas remarqué ; cherchez 
    plutôt à faire quelque chose de remarquable [Confucius]
    0
  2. jeff
     
    ca serait bien que tu es un forulaire oui et le champ du formulaire doit porter le nom de ta variable php: requete
    quand au formulaire il faut pas oublier <form method="post" action="tapage.php">
    0
  3. lerecheur
     
    voila le script pour le formulaire je pense qu'il est correct
    </body>
    </html>

    <form action="resultats.php4" method="post">

    Veuillez saisir votre mot clé :<br>

    <input type="text" name="requete" size="20">

    <input type="submit" value="Rechercher"> </b> </br> </p>
    </form>
    </center>

    </body>
    </html>
    0
  4. kalamit
     
    Salut,
    Les variables globales doivent etre à off, utilise $_POST['requete'] à la place de $requete, et ca fonctionnera.

    Kalamit,
    Parle à ma culasse, mon carter est malade. :)
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lerecheur
     
    merci de ta reponce mais c'est pas trop clair pour moi vu que j'y connais rien ! et que c'est un scrip que j'ai recuperer

    es ce que doit faire sa : if $_POST['requete']
    {
    print("<center>\n");
    print("<font face=\"$policeResultats\" size=\"-1\" color=\"$couleurPoliceResultats\">\n");
    print("Vous avez activé la recherche sans avoir préalablement saisi votre requête.<br>");
    print("<a href=\"moteur.php\">Cliquez ici</a> pour effectuer une nouvelle recherche.<br>\n");
    print("</font>\n");
    print("</center>\n");
    }

    ou y'a t il pas de moyen de mettre directement les variables a on

    merci de ton aide
    0
  7. kalamit
     
    Oui, c'est ca:
    if(!$_POST['requete']) {
    ...


    Mettre les variables globales à on est la plus mauvaises des techniques. Dans quelque temps les hebergeurs ne les supporteront plus pour des raisons de securité.
    Tu peux changer la valeur dans le php.ini.

    Kalamit,
    Parle à ma culasse, mon carter est malade. :)
    0
  8. lerecheur
     
    desoler d'insister mais j'ai tjrs un message Undefined index: requete in c:\program files\easyphp1-7\www\planete\testm\resultats.php4 on line 56

    VRAIMENT desolé mais j'aimerai vraiment que sa fonctionne

    encore merci
    0
  9. kalamit
     
    C'est quoi la ligne 56 ?

    Kalamit,
    Parle à ma culasse, mon carter est malade. :)
    0
  10. lerecheur
     
    j'ai un autre soucis
    en essayant de faire comme tu ma dit j'ai modifier est sa donne

    print("La requête '<b>$_POST['requete']</b>' a donné <b>$nombreCorrespondances</b> résultats. <br>\n");

    jai modifier $requete par $_POST['requete']

    et maintenant j'ai ce message

    Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in

    si tu as une idée

    MERCI
    0
  11. kalamit
     
    Ok...
    Modifie la ligne comme ceci:
    print("La requête '<b>".$_POST['requete']."</b>' a donné <b>".$nombreCorrespondances."</b> résultats. <br>\n");

    Et ca devrait fonctionner au poil... :)

    Kalamit,
    Parle à ma culasse, mon carter est malade. :)
    0
  12. lerecheur
     
    trop cool sa marche merrrrrrrrrrrrrrrrrccccccccccciiiiiiii

    mais j'ai un encore un probleme !!! :-(

    quand je tape mon mots clef j'ai une tres belle page qui m'indique que j'ai par exemple 30 fichier trouver page 3

    j'arrive a avoir la 1er page mais quand je decide d'afficher la 2eme j'ai ce message

    Notice: Undefined index: requete in c:\program files\easyphp1-7\www\planete\testm\resultats.php4 on line 56

    Vous avez activé la recherche sans avoir préalablement saisi votre requête.
    Cliquez ici pour effectuer une nouvelle recherche.

    voici ce qui ce passe a la line 56 (1er ligne 56 et le reste du script)

    if(!$_POST['requete']) {

    print("<center>\n");
    print("<font face=\"$policeResultats\" size=\"-1\" color=\"$couleurPoliceResultats\">\n");
    print("Vous avez activé la recherche sans avoir préalablement saisi votre requête.<br>");
    print("<a href=\"moteur.php4\">Cliquez ici</a> pour effectuer une nouvelle recherche.<br>\n");
    print("</font>\n");
    print("</center>\n");
    }

    else {
    $_POST['requete'] =trim(stripslashes($_POST['requete']));

    je vois que tu es doué (et pas moi :-( )
    merci du coup de main
    0
  13. kalamit
     
    Ok.
    Pas sur que ca fonctionne et un peu 'cracra', mais bon...

    if((!$_POST['requete']) or (!$_GET['requete']) ) {

    Essaye ca...

    Kalamit,
    Parle à ma culasse, mon carter est malade. :)
    0
  14. lerecheur
     
    non sa fonctionne pas du tt j' ai le meme message d'erreur

    en fait tt fonctionne tres bien j'arrive a faire tourner mon moteur de recherche mais quand je decide d'aller a la 2em page (un peu comme les page google) j'ai ce message d erreur qui me dit que j'ai rien specifier dans ma recherche alors que je voulais aller a la page suivante je crois peut etre que je devraiis rajouter quelque chose dans le scrip non , mais je vois pas quoi

    qu'en penses tu ?

    je te renvoi le message

    Notice: Undefined index: requete in c:\program files\easyphp1-7\www\planete\testm\resultats.php4

    merci
    0
  15. kalamit
     
    Non, non, y'a rien à rajouter...
    Y'a un numero de ligne avec ca, non ?

    Kalamit,
    Parle à ma culasse, mon carter est malade. :)
    0
  16. lerecheur
     
    oui ligne 56 jai fais les modif comme tu me la dit mais je suis revenu au if(!$_POST['requete']) {

    et d'apres le message d'erreur c'est cette ligne qui merde

    je peux peut etre t'envoyer les scripts qui fonts tourner mon moteur sur ta boite @mail (si sa ne te derange pas bien sur et si tu as un peu) sinon pas grave je me debrouillerai

    mais c sympa de m'avoir aider trop cool
    0
  17. kalamit
     
    Vazy envoie... J'ai un peu de temps. :)

    Kalamit,
    Parle à ma culasse, mon carter est malade. :)
    0
    1. lerecheur
       
      je t'envoi sa ici reservation@le-ruxelier.com???
      0
    2. kalamit
       
      Non !
      kalamit@commentcamarche.net !

      Kalamit,
      Parle à ma culasse, mon carter est malade. :)
      0
      1. lerecheur > kalamit
         
        ah oui desolé

        je viens d'envoyer les scripts sur ta boite si tu as le tps d'y jetter un oeil

        merci beaucouppppppp
        0
  18. lerecheur
     
    oui ligne 56 jai fais les modif comme tu me la dit mais je suis revenu au if(!$_POST['requete']) {

    et d'apres le message d'erreur c'est cette ligne qui merde

    je peux peut etre t'envoyer les scripts qui fonts tourner mon moteur sur ta boite @mail (si sa ne te derange pas bien sur et si tu as un peu) sinon pas grave je me debrouillerai

    mais c sympa de m'avoir aider trop cool
    0
    1. celine
       
      salut,
      voila je dois creer un moteur de recherche, sans base de donnée pour un usage en local(petit intranet), je ne sais pas du tout comment mis prendre.
      est ce que tu peux m'aider?
      Merci d'avance
      0