douxie9347 2016-03-03 20:03
浏览 19
已采纳

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

I need some help about how to pass a variable with POST without using sessions.

Currently my code doesn't display value of the variable called $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>';

?>

What should I change in the code to be able to use $variable in POST['testbutton'] part of the code ?

</div>
  • 写回答

2条回答 默认 最新

  • dongxibo2095 2016-03-03 20:08
    关注

    Per my comment:

    <?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

    If what you're trying to do is pass a variable from the page to $_POST you'll need to do as jeroen suggested and set a hidden input like this:

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

    this will then become $_POST["myvariable"]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应