Php 将表单发布到服务器并将用户id保存到$会话后未定义的索引
我基本上是PHP的初学者。我对它有基本的了解,但我真的很难找到解决办法 HomePage.php:Php 将表单发布到服务器并将用户id保存到$会话后未定义的索引,php,session,Php,Session,我基本上是PHP的初学者。我对它有基本的了解,但我真的很难找到解决办法 HomePage.php: <?php require('dbconnection.php'); if(isset($_POST)&&(sizeof($_POST)>0)) { $sql_query_insert_user = "insert into users(user_fname,user_mname,user_lname,user_dob,user_email,use
<?php
require('dbconnection.php');
if(isset($_POST)&&(sizeof($_POST)>0))
{
$sql_query_insert_user = "insert into users(user_fname,user_mname,user_lname,user_dob,user_email,user_doc,user_gender,user_nationality) values '$fname','$mname','$lname','$dob','$email','$doc','$gender','$nationality')";
mysql_query($sql_query_insert_user,$dbconnect) or die("cannot insert to user");
$user_id = mysql_insert_id();
session_start();
$_SESSION['user_id'] = $user_id;
$_SESSION['user_name'] = $user_name;
$sql_query_insert_user_login = "insert into users_login(user_id,user_name,user_password) values ('$user_id','$user_name','$user_password')";
mysql_query($sql_query_insert_user_login,$dbconnect) or die("cannot connect to user login");
}
?>
您正在定义$\u会话['user\u id']=$user\u id代码>然后引用$\u会话['id']
。它需要用户
前缀
撇开这个bug不谈,您需要确保在
标记中使用method=“post”
,或者if(isset($\u post…
块)不会被执行,会话变量也永远不会被设置
一切正常后,停止使用mysql.*
函数。这些函数已被弃用,社区已经迁移到PDO和类似的替代品,如MySQLi,已有一段时间了。您正在定义$\u会话['user\u id']=$user\u id;
然后引用$\u会话['id']
。它需要user\code>前缀
撇开这个bug不谈,您需要确保在
标记中使用method=“post”
,或者if(isset($\u post…
块)不会被执行,会话变量也永远不会被设置
一切正常后,请停止使用mysql.*
函数。这些函数已被弃用,社区已经迁移到PDO和类似的替代品,如MySQLi,已有一段时间了。非常抱歉,我不知道如何输入我的代码。非常抱歉,我不知道如何输入我的代码。感谢您的快速回复。我实际上已经做了更正和修改也检查了你提到的东西,但是我仍然得到了上面提到的错误。如果我给$\u会话赋值,但是当我把它放在d if(isset($\u POST))中时,它是有效的它没有分配给它,或者可能缺少sumthng。请告诉我。
。将表单发布到服务器后直接重定向到UserHome.php。感谢您的快速回复。我实际上已经进行了更正,并检查了您提到的内容,但我仍然得到了如上所述的错误。如果我为$\u SESSION分配了一个值,它就会工作但是当我把它放在d if(isset($\u POST))中时,它没有分配给它,或者可能缺少sumthng。请告诉我。
。将表单发布到服务器后直接重定向到UserHome.php。
<?php
session_start();
echo $_SESSION['id'];
echo $_SESSION['user_name'];
?>