0

私は評価システムに取り組んでいます。ユーザーはドロップダウン メニューでアイテムを評価できます。

<select name = "theRating">
<option>Select...</option>
<option>1 Star</option>
<option>2 Stars</option>
<option>3 Stars</option>
<option>4 Stars</option>
<option>5 Stars</option>
</select>

同じドキュメントで、数行後に、選択したオプションを URL で送信したい

<form action="', $scripturl, '?action=rateThisThing?rating=',$_POST['theRating'],'" method="post">
<input type="submit" value="Rate this"></form>

なぜこれが機能しないのですか?$_POST['theRating'] が空のようです [または、少なくとも、リダイレクト時に URL に表示されません...]

4

2 に答える 2

1

ここにたくさんの問題があります。最初に些細なこと、次に主要な問題。細かい点: PHP に間違った連結子を使用しています:.ではなく、PHP タグ ( ),内に含める必要があります。<?php ?>

ただし、PHP と JavaScript の役割を根本的に誤解しているため、それは関係ありません。PHP はサーバー側の言語であり、コンテンツがクライアントに提供される前にのみアクセスできます (ajax は別として)。また、フォームの URL 文字列を正しくフォーマットしていません。URL で複数の変数を渡す場合は、. ではなくアンパサンド (&) で区切ります?

また、postフォームで指定したとおりに情報を送信しようとしている場合、なぜ URL でデータを渡そうとするのでしょうか? フォーム内に選択を含め、フォームのメソッドをget次のように設定するだけです。

<form action="target_file.php" method="get">
 <select name="theRating">
  <option>Select...</option>
  <option>1 Star</option>
  <option>2 Stars</option>
  <option>3 Stars</option>
  <option>4 Stars</option>
  <option>5 Stars</option>
 </select>
<input type='hidden' name='action' value='rateThisThing' />
 <input type="submit" value="Submit" />
</form>
于 2012-09-21T01:47:42.473 に答える
0

経由でデータを利用できるようにするには$_POST、何かを投稿する必要があります。

<form action="" method="post">
 <select name="theRating">
  <option>Select...</option>
  <option>1 Star</option>
  <option>2 Stars</option>
  <option>3 Stars</option>
  <option>4 Stars</option>
  <option>5 Stars</option>
 </select>
 <input type="submit" value="Submit" />
</form>

このフォームを送信する$_POST['theRating']と、そのページで利用できるようになります。スクリプトが$scripturlこのデータを使用できるように、実行中のスクリプトがこのページにあるか含まれている必要があります。

于 2012-09-21T01:49:40.383 に答える