这看起来很简单,但我找不到一个好方法。

在第一页中,我创建了一个变量

$myVariable = "Some text";

表单对该页面的操作是"Page2.php"在page2。php中,我如何访问这个变量?我知道我可以用会话做到这一点,但我认为这对于一个简单的字符串来说太多了,我只需要传递一个简单的字符串(一个文件名)。

我怎样才能做到这一点呢?

谢谢!


当前回答

谢谢上面的回答。以下是我是如何做到的,我希望对那些跟随我的人有所帮助。我希望从一个页面传递一个注册号到另一个页面,因此regName和regValue:

创建你的第一个页面,命名为set_reg.php:

<?php

session_start();

$_SESSION['regName'] = $regValue;

?>

<form method="get" action="get_reg.php">
    <input type="text" name="regName" value="">
    <input type="submit">
</form>

创建第二个页面,命名为get_reg.php:

<?php

session_start();

$regValue = $_GET['regName'];

echo "Your registration is: ".$regValue.".";

?>

<p><a href="set_reg.php">Back to set_reg.php</a>

虽然不像上面的答案那么全面,但出于我的目的,这以简单的方式说明了各种元素之间的关系。

其他回答

在请求中传递数据

您可以将其作为隐藏字段嵌入到表单中,或者将其添加到表单操作URL中

 echo '<input type="hidden" name="myVariable" value="'.
     htmlentities($myVariable).'">';

or

echo '<form method="POST" action="Page2.php?myVariable='.
    urlencode($myVariable).'">";

注意,这也说明了在传递数据时使用htmlentities和urlencode。

在会话中传递数据

如果数据不需要传递到客户端,那么会话可能更合适。只需在每个页面的开始处调用session_start(),就可以获取并将数据设置到$_SESSION数组中。

安全

由于您声明的值实际上是一个文件名,因此需要注意安全后果。如果文件名来自客户端,则假定用户篡改了该值。检查它的有效性!当用户将路径传递给一个重要的系统文件或在他们控制下的文件时会发生什么?您的脚本是否可以用于“探测”服务器上存在或不存在的文件?

很明显,这里刚刚开始,值得提醒的是,这适用于到达$_GET、$_POST或$_COOKIE中的任何数据——假设您最坏的敌人制作了这些数组的内容,并相应地编写代码!

会话是唯一的好方法,你也可以使用GET/POST,但这可能是不安全的。

试试这段代码

使用隐藏字段,我们可以传递PHP变量到另一个页面

page1.php

<?php $myVariable = "Some text";?>
<form method="post" action="page2.php">
 <input type="hidden" name="text" value="<?php echo $myVariable; ?>">
 <button type="submit">Submit</button>
</form>

将PHP变量传递给隐藏字段值,以便您可以将此变量访问到另一个页面

page2.php

<?php
 $text=$_POST['text'];
 echo $text;
?>

谢谢上面的回答。以下是我是如何做到的,我希望对那些跟随我的人有所帮助。我希望从一个页面传递一个注册号到另一个页面,因此regName和regValue:

创建你的第一个页面,命名为set_reg.php:

<?php

session_start();

$_SESSION['regName'] = $regValue;

?>

<form method="get" action="get_reg.php">
    <input type="text" name="regName" value="">
    <input type="submit">
</form>

创建第二个页面,命名为get_reg.php:

<?php

session_start();

$regValue = $_GET['regName'];

echo "Your registration is: ".$regValue.".";

?>

<p><a href="set_reg.php">Back to set_reg.php</a>

虽然不像上面的答案那么全面,但出于我的目的,这以简单的方式说明了各种元素之间的关系。

例如,你可以通过在url中包含变量来调用你想要的页面:

header("Location: ../signup.php?newpwd=passwordupdated");

在你的注册。php页面上

if (isset($_GET['newpwd']) && $_GET['newpwd'] == "passwordupdated") {
        //code here
    }