如何在注册后将userid存储在新创建的用户的会话变量中

时间:2013-10-18 10:40:19

标签: php mysql sql database

我在从MySql表的userid列中获取值并将其存储在会话中时遇到问题。

以下是详细问题:

我有一个包含许多表的数据库,但现在考虑2。

表名登录

| userid | username | password

表名 person_details

| firstname | lastname | dob

除此之外我(考虑)2页有2个表格(每页1个);

一个用于登录,另一个用于登录后的详细信息。

我的person_details表的useridlogin表的外键。

我想要的是当用户注册时,提供的usernamepassword应该保存在login表格中,其中包含当前唯一的(自动生成的)userid工作得很好。*

现在问题在于这一部分;当用户注册后,他/她将被定向到person_details表单,并在填写表单后单击提交,数据应保存到person_details,其中“userid”与'登录'表

In order to do that I think i have to store the 'userid' in the session variable so that it can be used as a parameter while inserting the value to 'person_details' table but i am not able to pass that value.

这是我的代码:

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "login")) {
$insertSQL = sprintf("INSERT INTO secure_login (username, password) VALUES (%s, %s)", GetSQLValueString($_POST['username'], "text"), GetSQLValueString($_POST['password'], "text"));

mysql_select_db($database_mydatabase, $mydatabase);
$Result1 = mysql_query($insertSQL, $mydatabase) or die(mysql_error());
$obj = @mysql_fetch_object($Result1);
$_SESSION['userID']=$obj->userid;
我试过这个但没有运气

    mysql_select_db($database_mydatabase, $mydatabase);
$Result1 = mysql_query($insertSQL, $mydatabase) or die(mysql_error());
$_SESSION['userID']=$Result1->userid;

这是我在尝试时遇到的错误:

Cannot add or update a child row: a foreign key constraint fails (`mydatabase`.`personaldetails`, CONSTRAINT `personaldetails_ibfk_2` FOREIGN KEY (`userid`) REFERENCES `secure_login` (`userid`) ON DELETE CASCADE ON UPDATE CASCADE)

我尝试了没有会话,没关系,数据已保存到表person_details并使用自动生成userid

如果您需要更多代码或任何其他信息,请告诉我。

编辑我在会话变量中获得了userID,因此我的问题的一半已经解决了。现在我需要做的就是为person_details设置相同的用户ID。

P.S。当我在这里发布这个问题时,我期待一个答案,但我得到的只是一些访问和一个人为我做了一些编辑(我认为他非常喜欢他编辑我的一些评论作为代码)反正,谢谢你的朋友。

1 个答案:

答案 0 :(得分:0)

您的问题很难理解,而您的编辑声称解决了问题的一半并未解决问题。以下是一些建议:

  1. 停止使用mysql_并开始使用mysqli _
  2. 我不相信您能够成功捕获插入
  3. 的任何项目
  4. 如果没有按照它们在目标表中出现的确切顺序插入,则需要枚举要插入的值。

    INSERT INTO person_details(firstname, lastname, dob, userid) VALUES('firstname', 'lastname', 'dob', 'userid');
    
相关问题