2016-03-03 80 views
-4

我需要一些关于如何使用POST传递变量而不使用会话的帮助。为什么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”]的一部分代码?

+2

您正在尝试在定义它之前调用'$ myvariable'。移动 '$ myvariable =“hello world”;'顶部 – WheatBeak

+2

定义它_before_您尝试使用它 – jmoerdyk

+2

移动'$ myvariable =“hello world”;'顶部 – devpro

回答

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>'; 

?> 

UPDATE

如果你想要做的是从页面传递变量$_POST你需要做的是吉荣建议,并设置这样一个隐藏的输入:

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

这将进而成为$_POST["myvariable"]

+1

我不认为这是OP所需要的,但是这个问题并不完全清楚...... – jeroen

+0

我认为没有必要使用这个'if($ _POST ['testbutton'] =='Testing'){' – devpro

+0

谢谢你的帮助。 –

2
<?php 

// define $mvvariable here and PHP will not bring undefined error 
$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>'; 

?> 
相关问题