我正在尝试启动一个PHP会话,以便在用户登录时存储表单中的数据,然后在登录后将其显示在页面上。到目前为止所有尝试都失败了,我看不出我做错了什么。如果你能告诉我哪里出错了,这就是我的程序。
第1步
First Page上有一个表单,它已经收到了之前的数据。其中一些数据需要进入会话,所以在页面顶部之前还有其他内容。
<?php
session_start();
$_SESSION['booking-form'] = array('GT_title' => $SEStitle, 'GT_actual_duration' => $SESactualduration, 'cal_startdate' => $SEScalstartdate, 'GT_picture' => $SESpicture, 'GT_total_duration' => $SEStotalduration, 'GT_total_dives' => $SEStotaldives, 'GT_total_price' => $SEStotalprice, 'GT_total_duration' => $SEStotalduration, 'GT_specifications' => $SESspecifications);
?>
第2步
用户登录
第3步
成功后,用户将被定向到另一个页面,现在称为bookinginitial.php。
第4步
bookinginitial .php上的代码如下。我已经设置了3种可能的收集方式
<?php
session_start();
$_SESSION['booking-form'];
echo $_POST['SEStitle'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
<?php $_SESSION['booking-form'];
echo $_POST['SEStitle'];
?>
<?php
echo $_POST['SEStitle']; ?>
</body>
</html>
现在显然这是不正确的。是否与会话数组我不知道,因为我刚开始使用PHP并且正在尽力而为。
任何帮助都将不胜感激。
非凡,
答案 0 :(得分:2)
您只需要访问会话数组。
echo $_SESSION['booking-form']['SEStitle'];
$_POST
数组仅在您从表单发送字段时设置。
答案 1 :(得分:0)
我不确定这是否会给你带来麻烦,所以我会怀疑你的意思是“我已经设置了3种可能性......”。
这一行本身没有任何作用:
$_SESSION['booking-form'];
我认为你实际上是想把它包装成有条件的。其语法为:
<?php
session_start();
print_r($_SESSION); ########### for debugging purposes ###########
if ($_SESSION['booking-form']) {
echo $_POST['SEStitle'];
?>
<!DOCTYPE html>
<html>...
<?php
}
elseif ($_SESSION['booking-form']) {
...
第二个条件可能是为了检查其他内容。但我不知道你的网页实际上做了什么。