Php can';t将$\u会话的一部分作为变量调用
我试图调用上一页中的$\u POST表单信息的某些部分,我们从index.php开始,将表单以POST表单的形式发送到contact.php,然后contact.php将通过电子邮件发送出去(这些部分仍然有效)。我遇到的问题是将post信息放回会话变量并发送回index.php。我可以为$_SESSION['pos']执行foreach命令,并逐个打印每个变量,但这使我无法在它们的信息之前输入内容,例如name:和email: contact.phpPhp can';t将$\u会话的一部分作为变量调用,php,arrays,session,Php,Arrays,Session,我试图调用上一页中的$\u POST表单信息的某些部分,我们从index.php开始,将表单以POST表单的形式发送到contact.php,然后contact.php将通过电子邮件发送出去(这些部分仍然有效)。我遇到的问题是将post信息放回会话变量并发送回index.php。我可以为$_SESSION['pos']执行foreach命令,并逐个打印每个变量,但这使我无法在它们的信息之前输入内容,例如name:和email: contact.php session_start(); //sta
session_start(); //start session
$_SESSION['pos'] = $_POST; // turn $_POST info into $_session info
index.php
if(isset($_SESSION['pos'])){ //check to see if session info is set
echo '<div class="alert alert-info">'; //create alert div
$item = $_SESSION['pos']; //change session into variable for easier indexing?
echo "Name: ". $item[0]."<br><br>"; //echo line 0 from array
echo "Email: ". $item['1']."<br><br>"; //echo line 1 from array
echo "</div>"; //close alert div
}
session_unset();//unset session variables to avoid re-using them.
if(设置($\u会话['pos']){//检查会话信息是否已设置
echo“”;//创建警报div
$item=$_SESSION['pos'];//将SESSION更改为变量以便于索引?
echo“Name:”.$item[0]。“
”;//从数组中回显第0行
echo“Email:.$item['1'].“
”;//从数组中回显第1行
echo“”;//关闭警报div
}
session_unset()//取消设置会话变量以避免重复使用它们。
我真希望我知道如何正确地搜索我正在寻找的答案。我对不得不求助于询问如何做到这一点感到恐惧,因为我确信答案就在那里 除非您的表单字段名为
0
和1
等,否则Name:.$item[0]
不正确,应该类似于Name:”$项['name']
,其中数组键对应于表单输入的name属性
此外,您可能希望避免调用session\u unset()
,因为这将清除您可能不需要的所有会话数据
相反,您可以在相关数据上使用:
// unset the POST data from the session, leave everything else
unset($_SESSION['pos']);
如果你有:
<input type="text" name="name" placeholder="Your Name">
<input type="text" name="email" placeholder="Email Address">
您的代码可能会如下所示:
if(isset($_SESSION['pos'])){ //check to see if session info is set
echo '<div class="alert alert-info">'; //create alert div
$item = $_SESSION['pos']; //change session into variable for easier indexing?
echo "Name: ". $item['name']."<br><br>"; //echo line 0 from array
echo "Email: ". $item['email']."<br><br>"; //echo line 1 from array
echo "</div>"; //close alert div
unset($_SESSION['pos']); // remove post data from session
}
if(设置($\u会话['pos']){//检查会话信息是否已设置
echo“”;//创建警报div
$item=$_SESSION['pos'];//将SESSION更改为变量以便于索引?
echo“Name:”.$item['Name']。“
”;//从数组中回显第0行
echo“Email:.$item['Email'].“
”;//从数组中回显第1行
echo“”;//关闭警报div
取消设置($_会话['pos']);//从会话中删除post数据
}
ohhhh所以它也可以从帖子中提取关键名称,而不仅仅是给它们编号$呼叫原始post键修复了它,谢谢!