首先感谢您阅读本文, 我有一个表格,它有3页,需要从第1页和第2页存储数据,最后在第3页,然后它被发送到数据库。
我在第2页上使用此功能来存储第1页的信息 (假设在我的表单的第1页上有session_start();)
$_SESSION['firstName']= $_POST['firstName'];
$_SESSION['telephone']= $_POST['telephone'];
$_SESSION['surname']= $_POST['surname'];
$_SESSION['mobile']= $_POST['mobile'];
然后,第3页使用此信息从第2页获取信息以保留信息。
$_SESSION['address1']= $_POST['address1'];
$_SESSION['address2']= $_POST['address2'];
$_SESSION['address3']= $_POST['address3'];
$_SESSION['email']= $_POST['email'];
$_SESSION['customerType']= $_POST['customerType'];
如果我在第3页上回显$ _SESSION ['email']它会显示出来但是如果我在最后一页上回显第2页的任何$ _SESSION它没有显示任何内容。
我花了很多时间看待存储会话,但我似乎无法解决这个问题。
夏天: -
第3页上的问题如果我尝试从第1页ECHO获取任何信息,则不显示第1页的数据我收到此错误: - 注意:未定义的索引:
再次感谢您阅读本文,对不起,因为我是新人,所以这对许多人来说是个愚蠢的问题,但我想学习,这个网站很棒。
抱歉忘了添加这个,我有一个名为Default.php的主页,其中包含以下代码: -
if ($_REQUEST['p']) { include('includes/'.$_REQUEST['p'].'.php');
然后从这个页面调用我的所有页面,格式如下
default.php?p=addmember
default.php?p=addmember-page2
default.php?p=addmember-page3
default.php有session_start();所以每个页面都有这个名为
答案 0 :(得分:5)
您需要在每个页面中使用session_start()
初始化会话。
答案 1 :(得分:3)
也许这会有所帮助。
<?php
session_start();
?>
<?php
#session_destroy();
function form($type)
{
return "<form action=\"\" method=\"POST\" >
<input type=\"text\" name=\"next\" />
<input type=\"submit\" name=\"$type\" />
</form> ";
}
function module()
{
echo form('one');
if (isset($_POST['one'])) {
if (isset($_POST['next']) && !empty($_POST['next'])) {
$_SESSION['title'] = $_POST['next'];
} else {
echo "post is empty";
}
} else {
echo "Please fill the field";
}
}
function module2()
{
echo form('two');
if (isset($_POST['two'])) {
if (isset($_POST['next']) && !empty($_POST['next'])) {
$_SESSION['content'] = $_POST['next'];
} else {
echo "post is empty";
}
} else {
echo "Please fill the field";
}
}
function module3()
{
echo form('three');
if (isset($_POST['three'])) {
if (isset($_POST['next']) && !empty($_POST['next'])) {
$_SESSION['category'] = $_POST['next'];
} else {
echo "post is empty";
}
} else {
echo "Please fill the field";
}
}
if (!isset($_SESSION['title'])) {
echo module();
} else if (isset($_SESSION['title']) && !isset($_SESSION['content'])) {
echo module2();
} else if (isset($_SESSION['content']) && !isset($_SESSION['category'])) {
echo module3();
}
// you can delete, below this line.
echo "<div style=\"width:1000px; align:left; border:1px dashed #darkblue; color: darkblue; font-size:14px; \" />";
function SessionChecker($type)
{
if (isset($_SESSION[$type]) && !empty($_SESSION[$type])) {
echo "Session $type is set as <b>" . $_SESSION[$type] . "</b><br/>";
} else {
echo "Session '$type' is not set <br/>";
}
}
echo SessionChecker('title');
echo SessionChecker('content');
echo SessionChecker('category');
echo "</div>";
答案 2 :(得分:2)
您是否在每个页面都调用了session_start()
?
session_start()
会创建一个会话或恢复当前会话,因此您需要在每个页面的顶部调用它,而不仅仅是您的初始页面。