表单帖子擦除文件范围的变量

时间:2011-06-10 19:44:42

标签: php file variables

当我将表单发布到同一个.php文件时,如果不应该将文件范围变量设为null。

includefile.php:

 <?php

     $foo = " ";
 ?>

doIt.php:

<?php

    echo $foo;

echo <<<_END
  <form action="doIt.php" method="post"><pre>
    $nameLabel  : <input type="text" name=$nameLabel />
    <input type="submit" name="addrecord" value="ADD RECORD" />

_END;

的index.php

<?php
   require_once 'includefile.php';

   $foo = "Set now.";  

   require_once 'doIt.php';
?>

首次加载时,index.php会导致$ foo回显,并显示“立即设置”。 但是当我按下表单上的提交按钮时 - $ foo是空的。 为什么重新进入doIt.php会杀死$ foo的值? 注意:require_once没有任何改变 - 仍然是同样的问题。

我的猜测是表单POST并导致重新进入同一个.php文件 在堆栈上设置一个新的调用框架,所有内容都设置为空。

1 个答案:

答案 0 :(得分:1)

看起来您的表单需要提交到'index.php'而不是'doit.php'。在'doit.php'文件中,$foo被设置为require_once文件中的空字符串,并且永远不会像您预期的那样通过'index.php'设置。所以:

<form action="index.php" method="post">