私は本当に理解していない $_POST に問題があります...私は非表示の入力を持つフォームを持っています。非表示の入力の値はデータベースから来ています。
私はこれをやっています:
echo "<input type=\"hidden\" name=\"reactie\" value=\"$naam\" />";
$naam は以前に割り当てられた変数です: 注: サブ配列にはユーザーの反応からのデータが含まれています。
foreach($gegevens as $sub_array) {
$naam = $sub_array['naam'];
}
$naam をエコーするだけで、必要な値が得られます。
非表示の入力の値を取得したい場合は、単に「striptag」を出力します。HTMLコードを見ると、隠された入力の値は本来あるべきものであり、「striptag」ではありません。
html での出力:
<input type="hidden" name="reactie" value="school" />
これを使用して、非表示の入力の値を取得します。
if (isset($_POST['submitted'])) {
echo $_POST['reactie'];
}
非表示の入力の値にテキストを入力すると、機能します。文字列変数を入れられないのはなぜですか?
フォームを投稿するときに取得する必要があるのは「学校」ですが、取得するのは「striptag」です。
このフォームの目的 (最後に): すべてのユーザー コメントを一覧表示します。ボタンを押すと、反応が削除されます。私の全体のフォーム:
<form action = "guestadmin.php" method = "post">
<?php
include ('conData.php');
$sql = new ConData();
$sql->maakConnectie();
$gegevens = $sql->haalGegevensOp("select * from gastenboek");
foreach($gegevens as $sub_array) {
$naam = $sub_array['naam'];
$email = $sub_array['email'];
$tekst = $sub_array['tekst'];
$datum = $sub_array['datum'];
echo "<div class = \"com\">
<fieldset class= \"field\">
<legend >Geschreven op $datum door $naam </legend>";
echo "$tekst</fieldset>
<input name = \"submitted\" type=\"submit\"
value = \"verwijder deze reactie\" /></div>";
echo "<input type=\"hidden\" name=\"reactie\" value=\"$naam\" />";
echo "<br \>";
}
?>
</form>
コメントが 1 つしかない場合、これは html で出力されます。
Geschreven op 2012-12-09 ドア Arnout dit is een test
本当にわからない