创建表单 $post 并在提交时提交用户 ID
Posted
技术标签:
【中文标题】创建表单 $post 并在提交时提交用户 ID【英文标题】:create form $post and on submit it sumbit the user id 【发布时间】:2017-01-21 15:43:12 【问题描述】:我有 2 个表用户和请求,,用户工作正常我可以获取用户 ID,我使用的是 userspice 4,我创建了名为 request 的表,我创建了另一个表单方法 post 并创建了插入。
<?php
$link = mysqli_connect("localhost", "xxxa", "xxxxx", "xxxx");
if($link === false)
die("ERROR: Could not connect. " . mysqli_connect_error());
// Escape user inputs for security
$fname = mysqli_real_escape_string($link, $_POST['fname']);
$lname = mysqli_real_escape_string($link, $_POST['lname']);
$amount = mysqli_real_escape_string($link, $_POST['amount']);
$cedula = mysqli_real_escape_string($link, $_POST['cedula']);
//尝试插入查询执行
$sql = "INSERT INTO request (fname, lname, amount, cedula ) VALUES ('$_POST[fname]', '$_POST[lname]', '$_POST[amount]','$_POST[cedula]')";
if(mysqli_query($link, $sql))
echo "Records added successfully.";
else
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
// close connection
mysqli_close($link);
?>
现在可以了,我已经插入到我的表中,但我还需要在提交时插入用户 ID,表单位于用户的帐户页面上,我需要将信息与用户 ID 一起提交,所以稍后关于我可以根据用户 id 获取,请帮助,我一直在寻找但找不到任何东西
【问题讨论】:
尝试将用户 ID 存储为会话。 如果我得到你想要做的,你应该在你的请求表中创建 fk 并在两个表之间建立关系 使用 $user->data()->id 在每个页面上都可以使用登录用户的 id; 【参考方案1】:据我了解,您希望保存您的请求和用户 ID,以便根据用户 ID 获取该请求。如果是这样,您应该在“request”表中创建属性“user_id”,并在“users”表中的“user id”和“requests”表中的“user id”之间建立关系。因此,每次插入请求时,都会将该请求连接到请求它的用户。
【讨论】:
我有,但是当我提交时,user_id 表是空的 我假设你在某处初始化了 user_id var。并且您在插入查询(在请求表中)中添加用户 ID?当你为输入创建变量时,为什么你直接在输入查询中使用 post? 因为某种原因它输入了数据而没有在变量中发布,或者我做错了什么 你修好了吗?如果没有,您可以发送您的表的结构或模型吗?当您尝试在请求表中插入 user_id 时会出现什么错误? 抱歉耽搁了,是的,我按照说明进行操作,但现在我收到了无法添加或更新子行:外键约束失败(c0newloan
.request
,CONSTRAINT loan_requtes
FOREIGN关键(user_id
)参考users
(id
))【参考方案2】:
尝试将用户ID存储在会话中并在插入时使用它。不要忘记启动会话。
存储在用户的帐户页面中
$_SESSION['userid']=$userid; //your userid variable
取货时
$userid=$_SESSION['userid'];
有关会话的更多信息,请查看以下链接 PHP SESSION
【讨论】:
但是我如何将它添加到我的 sert VALUES ('$_POST[fname]', '$_POST[lname]', '$_POST[amount]','$_POST[cedula]' , '$userid=$_SESSION['userid']')" 是不是像这样..我想确切地知道如何创建提交 这是调用我的 id =$user->data()->id?> 如何进入会话 以与其他页面相同的方式使用帖子值。对于像这样的会话值存储$_SESSION['userid']=$user->data()->id ; // variable name
获取$userid=$_SESSION['userid'];
并使用$userid
变量进行插入查询以上是关于创建表单 $post 并在提交时提交用户 ID的主要内容,如果未能解决你的问题,请参考以下文章