无法在结果中回显用户查询

时间:2015-12-25 00:23:21

标签: php

我正在学习PHP并在制作搜索引擎的过程中。以下代码不会在搜索字段中回显结果页面上的用户输入。

搜索页面:

<!DOCTYPE html>
<html>
  <head>
    <title>Search Engine</title>
    <style type="text/css">
      body {
        background:#F0FFFF;
        margin:-80px;
      }

      form {
        margin:25%;
      } 
    </style>
  </head>
  <body>
    <form action="result.php" method="post">
      <input type="text" name="user_query" size="80" placeholder="Enter Search Here" />
      <input type="submit" name="search" value="Search Now" />
  </body>
</html>

结果页面:

<!DOCTYPE html>
<html>
  <head>
    <title>Results</title>
    <style type="text/css">
      .results {
        margin:5%;
      }
    </style>
  </head>
  <body bgcolor="#F0FFFF">
    <form action="result.php" method="get">
      <span><b>Enter Query Here:</b></span>
      <input type="text" name="user_keyword" size="80" />
      <input type="submit" name="result" value="Search Now" />
    </form>

    <?php
      if(isset($_GET['search'])) {
          $get_value = $_GET['user_query'];

          echo "<div class='results'>
              $get_value;
              </div>";
      }
    ?>
  </body>
</html>

有人可以告诉我为什么在搜索运行时没有回应用户的输入吗?

2 个答案:

答案 0 :(得分:1)

如果您使用method = post 在表单标记中,您必须以$ _POST的形式接收数据 方法= get use $ _GET

将结果页面中的这一行编辑为此

<?php

    if(isset($_POST['search'])){
    $get_value = $_POST['user_query'];

    echo "<div class='results'>{$get_value}</div>";

    }

?>

答案 1 :(得分:0)

问题在于你的表单标签你应该使用method =“get”如果你想从数据库中获取一些数据,如果你使用method =“post”你应该使用$ _POST ['search' ]所以你的表格标签shuld必须像这样

<form action="result.php" method="get">

如果你打算使用method =“post”,那么你的$ _GET ['search']应该是$ _POST ['search'] 但我建议你使用method =“get”来搜索数据库中的查询