1
<?php
mysql_connect("host", "user", "pw") or die(mysql_error());
mysql_select_db("db") or die(mysql_error());



$sql = "SELECT machine_id FROM machines";
$result = mysql_query($sql);

echo "<form action='results_send.php' method='post' >";
echo "<select name='machine_id'>";
while ($row = mysql_fetch_array($result)) {
    echo "<option value='" . $row['machine_id'] . "'>" . $row['machine_id'] . "</option>";
}
echo "</select></form>";
echo '<input type="submit" value="Submit">';



$machine = $_POST['machine_id'];

var_dump($machine);

?>

戻り値:

<form action='results_send.php' method='post' ><select name='machine_id'><option value='2011 Honda'>2011 Honda</option><option value='1999 Toyota'>1999 Toyota</option><option value='1999 Honda'>1999 Honda</option><option value='1999 Honda'>1999 Honda</option><option value='2013 Toyota'>2013 Toyota</option><option value='2012 Ford'>2012 Ford</option><option value='2012 Ford'>2012 Ford</option><option value='2012 Ford'>2012 Ford</option><option value='2012 Ford'>2012 Ford</option></select></form><input type="submit" value="Submit">NULL

これらはすべて同じドキュメントにあります:results_send.php

私はphp/mysqlをほんの数日間試していますが、忍耐力はありがたいです。

4

2 に答える 2

0

value構文エラーがあり、属性の冒頭の引用符がありません。

への変更:

echo "<option value=\"";

または

echo '<option value="';

</form>終了タグもありません。このスクリプトを修正して、他のフォームがあるページにコンテンツを挿入する場合は、フォームタグがないことが問題になる可能性があります。

htmlspecialchars()データに引用符が含まれる可能性があるXSSおよび構文エラーを防ぐために、データをHTMLに出力するときにデータを渡すことも価値があります。

于 2013-02-11T18:53:15.083 に答える
0

$ _POSTがどのように値を返すのか、またはフォームの送信方法を説明していないのに問題を理解してほしいのかわかりません。

ケースには2つのソリューションのいずれかを使用する必要があります。

  • AJAXを使用するには

  • 異なる名前の送信ボタンで2つの異なるフォームを使用するため。次に、isset($ _ POST ['name_of_button'])を使用して、投稿時に送信されるフォームを確認します。

ありがとう

于 2013-02-12T00:36:10.567 に答える