使用会话将变量从一个 php 文件传递到另一个文件并重置会话
Passing variables from one php file to another with sessions and resetting the session
所以我有这两页:一页有一个表单,需要一些文本,它应该显示在另一页上。所以我有一个 php 脚本,它将从输入和会话中捕获值,并且一个 php 文件应该在另一页上显示它;这是代码,您可以在此处在线试用。现在它根本不起作用。
我已经在两个页面上开始了会话
您可以在线查看这些页面:
http://www.canonseverywhere.net/test/admin/beta/index.php 主页(索引)
http://www.canonseverywhere.net/test/admin/beta/content.php 内容页
显示表单以捕获值的第 1 页;这是 index.php:
<html><body>
<div>
<ul>
<li>
<div>
<form action="enter-content.php" method="post" enctype="multipart/form-data" >
<span>
<textarea name="text"></textarea>
</span>
<br>
<input type="submit" value="submit">
</form>
</div>
</li>
</ul>
</div>
</body></html>
然后是“输入-content.php”:
<?php
session_start();
if(isset($_POST["submit"])) {
$_SESSION['text1'] = $_POST['text'];
return false;
}
?>
然后是“content.php”,这里会显示传递的文本内容
<html>
<body>
<div>
TEST PAGE
<p>
<?php
session_start();
include "enter-content.php";
echo $_SESSION['text1'];
?>
</p>
</div>
</body>
</html>
这些是我在本地主机上使用它时收到的错误:
这是我收到的错误:
注意:未定义的变量:_SESSION in /home/philippe/public_html/canonseverywhere.net/test/admin/beta/content.php on line 18
所以我在 enter-content.php 中设置了一个简单的变量,然后我可以通过会话在 content.php 页面中使用它。因此,问题似乎出在将 $_POST[] 值分配给 $_SESSION 变量;我在 if 语句中完成了它,我返回了 false 值,这似乎是不正确的。谢谢!
原因是:
使用 include 而不是 session_start 或同时使用 include 和 session_start;
解决方案:仅使用 session_start()
删除 'content' 页面上的包含 'enter-content'。
包含调用 session_start(),这将是同一页上的第二次调用。
所以我有这两页:一页有一个表单,需要一些文本,它应该显示在另一页上。所以我有一个 php 脚本,它将从输入和会话中捕获值,并且一个 php 文件应该在另一页上显示它;这是代码,您可以在此处在线试用。现在它根本不起作用。 我已经在两个页面上开始了会话
您可以在线查看这些页面:
http://www.canonseverywhere.net/test/admin/beta/index.php 主页(索引)
http://www.canonseverywhere.net/test/admin/beta/content.php 内容页
显示表单以捕获值的第 1 页;这是 index.php:
<html><body>
<div>
<ul>
<li>
<div>
<form action="enter-content.php" method="post" enctype="multipart/form-data" >
<span>
<textarea name="text"></textarea>
</span>
<br>
<input type="submit" value="submit">
</form>
</div>
</li>
</ul>
</div>
</body></html>
然后是“输入-content.php”:
<?php
session_start();
if(isset($_POST["submit"])) {
$_SESSION['text1'] = $_POST['text'];
return false;
}
?>
然后是“content.php”,这里会显示传递的文本内容
<html>
<body>
<div>
TEST PAGE
<p>
<?php
session_start();
include "enter-content.php";
echo $_SESSION['text1'];
?>
</p>
</div>
</body>
</html>
这些是我在本地主机上使用它时收到的错误:
这是我收到的错误: 注意:未定义的变量:_SESSION in /home/philippe/public_html/canonseverywhere.net/test/admin/beta/content.php on line 18
所以我在 enter-content.php 中设置了一个简单的变量,然后我可以通过会话在 content.php 页面中使用它。因此,问题似乎出在将 $_POST[] 值分配给 $_SESSION 变量;我在 if 语句中完成了它,我返回了 false 值,这似乎是不正确的。谢谢!
原因是:
使用 include 而不是 session_start 或同时使用 include 和 session_start;
解决方案:仅使用 session_start()
删除 'content' 页面上的包含 'enter-content'。
包含调用 session_start(),这将是同一页上的第二次调用。