表单操作Process.php文件不回显mySQL DB的结果

时间:2015-03-18 19:36:53

标签: php html mysql forms

目前,我有一个index.php文件,其中包含来自用户的表单和文本输入以及提交按钮。当按下提交按钮时,process.php文件应该获取数据并将其回显。但是,它只是将我发送到一个空白页面,并没有回应任何东西。我很清楚我需要在页面上设置样式等等......但它根本就没有回应。我已经使用另一个PHP脚本连接到mySQL数据库并测试了它并且它工作正常所以我知道我已连接。我究竟做错了什么?

的index.php

    <form action="process.php" form method="post" id="myForm">
    <div class="col-xs-12 col-md-6">
        <div class="input-group">

                    <span class="input-group-addon">
                         <input aria-label="..." type="checkbox" id="checkbox1">
                    </span>
                     <input aria-label="..." class="form-control" type="text" id="food1">
                </div>

            </div>
            <input type="submit" value="Submit">
    </form>

process.php

<?php
//Check whether the form has been submitted
if($_POST['submit'] == "Submit") 
{
    $varFood1 = $_POST['food1'];
    $sql = "SELECT menu.dish FROM menu WHERE menu.description LIKE '%varFood1%'"; // sql query
    $result = mysql_query($sql);


// Loop the recordset $result
// Each row will be made into an array ($row) using mysql_fetch_array
   while($row = mysql_fetch_array($result)) {

      echo "Items : {$row['dish']}\n";

     }
}
?>

2 个答案:

答案 0 :(得分:0)

使用name属性而不是id<input aria-label="..." class="form-control" type="text" id="food1">尝试在将来打印POST

<input aria-label="..." class="form-control" type="text" id="food1" name="food1">

其他更改......

$varFood1 = mysql_real_escape_string($_POST['food1']);
$sql = "SELECT menu.dish FROM menu WHERE menu.description LIKE '%$varFood1%'";

没有逃避你打开你自己。你应该考虑将驱动程序切换到mysqli或PDO。

答案 1 :(得分:0)

问题是您正在检查$ _POST [&#39; submit&#39;],process.php文件没有看到,因为它在POST数组中不存在。解决方案:为您的提交按钮指定一个名称,而不是:     <input type="submit" value="Submit">, 这就是你拥有的,做到这一点:

<input type="submit" name="submit" value="Submit">