0

我正在尝试创建一个表单,提交时将通过 MySQL 运行查询。但是,当我测试它时,没有任何反应,尽管我没有收到错误。我在同一页面上有另一个 isset,但形式不同。

这是php位:

if(isset($_POST['submit']))
{
$owner = $_POST['id'];

$get = @mysql_query("SELECT * FROM wolves WHERE name = '$owner'");
$result = mysql_fetch_assoc($get);
echo $result['name'];

}

这是表格:

<?php
echo 
"
<form action=test.php name=form2>
Id: <select name='id'>
";
while ($own = mysql_fetch_array($query)) 
{
echo "<option value='" . $own['name'] . "'>" . $own['name'] . "</option>";
}
echo "</select><input type=submit name=submit value=Submit!></form>";
?> 

提交表单时,正确的值会显示在 URL 中,但 php 似乎根本不起作用。我究竟做错了什么?

4

4 回答 4

1

表单中的第一个提及方法 POST

检查表单提交是否进入您的预期循环,

然后请在表单提交循环中使用 while 循环来获取您的预期值,如下所示,

if(isset($_POST['submit']))
{
    $owner = $_POST['id'];    
    $get = @mysql_query("SELECT * FROM wolves WHERE name = '$owner'");
    while($result = mysql_fetch_assoc($get)) {
        echo $result['name'];
    }    
}
于 2013-01-02T06:26:30.573 回答
0

你必须采取method="post"形式

<form action="test.php" name="form2" method="post">
于 2013-01-02T11:39:06.257 回答
0

提交表单时,正确的值会显示在 URL 中

表示通过 url 传递的数据,可以通过 GET 方法获取,否则post在表单中作为方法提及

<form action=test.php name=form2 method=post>

于 2013-01-02T06:27:43.700 回答
0

您还没有method为表单设置。这意味着这些值将使用get方法发送到服务器。在您的 php 中,您可以使用$_GET super global访问这些变量。

您所做的是,使用get方法提交表单并尝试使用$_POST superglobal访问值,该值是空的,并且您的服务器返回 false if(isset($_POST['submit']))

将表单更改methodpost然后重新运行代码。

于 2013-01-02T06:46:01.187 回答