Php 将表单发布到服务器并将用户id保存到$会话后未定义的索引

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的初学者。我对它有基本的了解,但我真的很难找到解决办法

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,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'];

?>