0

送信時にMySQLを介してクエリを実行するフォームを作成しようとしています。ただし、テストすると、エラーは発生しませんが、何も起こりません。同じページに別のフォームの別のセットがあります。

これが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メソッドを使用してサーバーに送信されます。$_GET PHPでは、スーパーグローバルを使用してこれらの変数にアクセスできます。

メソッドを使用してフォームを送信し、superglobalgetを使用して値にアクセスしようとしました。これは空であり、サーバーは。に対してfalseを返します。$_POST if(isset($_POST['submit']))

methodフォームのをに変更してからpost、コードを再実行します。

于 2013-01-02T06:46:01.187 に答える