我正在做一些令人困惑的事情,这应该有用,但事实并非如此。我在获取隐藏输入字段的值并且能够使用PHP查看它时遇到问题。我不能给出实际的项目,但我会提供一个例子。
HTML
<td><input type='hidden' id=emerg_desc value=emerg_desc />emerg_desc</td>
emerg_desc
是一个javascript变量,当用户与拖放功能进行交互时会动态更改。这是文本放弃之后的内容。现在,因为它在输入字段中,所以当用户点击提交时,我应该能够获取值并将其传递给PHP变量。
PHP
if($_POST['submit'] == TRUE){
function secure($data){
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return($data);
}
$array = array();
$desc = secure($_POST['emerg_desc']);
array_push($array, $desc);
$arrayLength = count($array);
}
当我调用$arrayLength
并将其回显时,我实际上得到了数组的正确返回值,即1.但是,当我尝试回显数组的内容时,我什么也得不到。就像值填充数组一样,但该值是一个空字符串。为什么会这样?
FOR AROPAY LOOP
echo $arrayLength;
for($i = 0; $i < $arrayLength; $i++){
echo $array[$i] .'<br>';
}
当我将输入类型更改为文本并将CSS显示设置为无时,我甚至遇到此问题。对不起,我无法展示实际项目的笔或小提琴,这不是我可以合法分享的内容。
答案 0 :(得分:1)
您必须为您的元素命名:
<td><input type='hidden' name='emerg_desc' id=emerg_desc value=emerg_desc />emerg_desc</td>
然后,您可以使用$_REQUEST['emerg_desc']
没有名称,PHP没有任何内容可供参考。隐藏元素与常规元素的工作方式相同。
同时强>
您不希望在If构造中定义函数。
function secure($data){
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return($data);
}
if($_POST['submit'] == TRUE){
$array = array();
$desc = secure($_POST['emerg_desc']);
array_push($array, $desc);
$arrayLength = count($array);
}