Partage
  • Partager sur Facebook
  • Partager sur Twitter

Envoyer les données d'un formulaire vers une fonction javascript.

    1 mars 2006 à 13:06:06

    Bonjour,

    Je suis toujours sur mon moteur de recherche qui marche très bien quand on l'ouvre dans une nouvelle page php, mais qui ne marche pas du tout quand on l'ouvre dans une nouvelle fenêtre popup.

    En fait, il me met toujours le message disant qu'aucun mot n'a été trouvé.
    J'ai donc l'impression que en ouvrant une nouvelle fenêtre à l'aide de js, il n'était pas possible de récupérer des données par POST.

    Enfin je sais pas, aidez-moi...

    Voici le code:
    formulaire de recherche:
    Code : HTML
    <div class="recherche">
    <form name = "search" method = "POST" action = "search.php">
    Need a definition ? <br /><input type = "text" name = "word" size="15"/><br />
    <input type = "submit" value = "Search" onclick='javascript:popupcentree("search.php", 450, 300, "menubar = no, scrollbars = yes, satusbar = no"); return false;'>


    Fonction JS pour afficher la fenêtre popup:
    Code : JavaScript
    function popupcentree(page, largeur, hauteur, options)
    {
    var top = (screen.height - hauteur)/2;
    var left = (screen.width - largeur)/2;
    window.open(page, "", "top = "+top+", left = "+left+", width = "+largeur+", height = "+hauteur+", "+options);

    }


    Moteur de recherche:
    Code : PHP
    include ("config.inc.php");

    mysql_connect($host, $username, $password) or die ("Error: Cannot connect to the database.\n");
    mysql_select_db($bdd_name);

    if ( isset($_POST["word"]) && !empty($_POST["word"]))
    {
    $mot = $_POST["word"];

    //On supprime les blancs en début et fin de mot.
    $mot = trim($mot);



    $query = mysql_query("SELECT distinct word, def FROM glossary WHERE word = '$mot' ")or die(mysql_error());
    $row = mysql_fetch_row($query);

    if ( $row )
    {
    echo "<h2><u>Technical English:</u></h2>";
    $row[0] = ucfirst($row[0]);
    $row[1] = ucfirst($row[1]);
    echo "<h4><u>$row[0] :</u></h4><p>$row[1].</p>";
    }
    else
    {
    $query = mysql_query("SELECT distinct word, def FROM wordnet where word = '$mot' ")or die(mysql_error());
    $row = mysql_fetch_row($query);

    if ( $row )
    {
    echo "<h2><u>General English:</u></h2>";
    $row[0] = ucfirst($row[0]);
    $row[1] = ucfirst($row[1]);
    echo "<h4><u>$row[0] :</u></h4><p>$row[1].</p>";
    }
    else
    {
    echo "<center><h1><u>The words which contain \"$mot\" are:</u></h1></center>";
    $query = mysql_query("SELECT distinct word, def FROM glossary WHERE word LIKE '%$mot%'") or die(mysql_error());
    $nbre_de_mots = mysql_num_rows($query);

    echo "<h2><u>Technical English:</u></h2>";
    if ( $nbre_de_mots > 0)
    {

    while ( $row = mysql_fetch_row($query) )
    {
    $row[0] = ucfirst($row[0]);
    $row[1] = ucfirst($row[1]);
    echo "<h4><u>$row[0] :</u></h4><p>$row[1].</p>";
    }
    }
    else
    {
    echo "<p><i>No word was found in the Database!</i></p>";
    }

    $query2 = mysql_query("SELECT distinct word, def FROM wordnet WHERE word LIKE '%$mot%'") or die(mysql_error());
    $nbre_de_mots = mysql_num_rows($query2);

    echo "<h2><u>General English:</u></h2>";
    if ( $nbre_de_mots > 0)
    {
    while ( $row2 = mysql_fetch_row($query2) )
    {
    $row2[0] = ucfirst($row2[0]);
    $row2[1] = ucfirst($row2[1]);
    echo "<h4><u>$row2[0] :</u></h4><p>$row2[1].</p>";
    }
    }
    else
    {
    echo "<p><i>No word was found in the Database!</i></p>";
    }
    }
    }
    }
    else
    {
    echo "<p>You must enter a word in the field!</p>";
    }

    ?>
    </body>
    </html>


    Voilà, j'ai donc toujours le message:
    You must enter a word in the field!

    Je sais plus quoi faire :(
    • Partager sur Facebook
    • Partager sur Twitter

    Envoyer les données d'un formulaire vers une fonction javascript.

    × 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