为什么PHP不使用在POST之外声明的变量?

时间:2016-03-03 20:03:57

标签: php

我需要一些关于如何使用POST传递变量而不使用会话的帮助。

目前我的代码不显示名为$ myvariable:

的变量的值
<?php
if(isset($_POST['testbutton'])){
if ($_POST['testbutton'] == 'Testing') {

echo $myvariable;
var_dump($_POST);

}
}

$myvariable = "hello world";

echo '<form action="'.htmlspecialchars($_SERVER["PHP_SELF"]).'" method="post">';
echo '<input type="submit" value="Testing" name="testbutton"/>';
echo '</form>';

?>

我应该在代码中更改什么才能在POST ['testbutton']部分代码中使用$ variable?

2 个答案:

答案 0 :(得分:2)

根据我的评论:

<?php

$myvariable = "hello world";

if(isset($_POST['testbutton'])){
    if ($_POST['testbutton'] == 'Testing') {

        echo $myvariable;
        var_dump($_POST);

    }
}



echo '<form action="'.htmlspecialchars($_SERVER["PHP_SELF"]).'" method="post">';
echo '<input type="submit" value="Testing" name="testbutton"/>';
echo '</form>';

?>

<强>更新

如果你要做的是将一个变量从页面传递到$_POST,你需要按照jeroen的建议进行操作并设置一个隐藏的输入:

  echo '<input type="hidden" value="' . $myvariable .'" name="myvariable"/>';

这将成为$_POST["myvariable"]

答案 1 :(得分:2)

key=len