使用PHP获取隐藏的输入值

时间:2014-05-30 20:08:59

标签: php html

我正在做一些令人困惑的事情,这应该有用,但事实并非如此。我在获取隐藏输入字段的值并且能够使用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显示设置为无时,我甚至遇到此问题。对不起,我无法展示实际项目的笔或小提琴,这不是我可以合法分享的内容。

1 个答案:

答案 0 :(得分:1)

您必须为您的元素命名:

<td><input type='hidden' name='emerg_desc' id=emerg_desc value=emerg_desc />emerg_desc</td>

然后,您可以使用$_REQUEST['emerg_desc']

访问php中的值

没有名称,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);
}