我遇到了$ _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>
如果只有一条评论,则会输出html:
Geschreven op 2012-12-09门Arnout dit是een测试
我真的不明白
答案 0 :(得分:1)
有两大问题:
<
,>
等符号可能会破坏您的HTML。您可以使用(对于每个数据字段)来解决这个问题:$naam = htmlspecialchars($sub_array['naam']);
。