创建表单 $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)参考usersid))【参考方案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-&gt;data()-&gt;id ; // variable name 获取$userid=$_SESSION['userid']; 并使用$userid 变量进行插入查询

以上是关于创建表单 $post 并在提交时提交用户 ID的主要内容,如果未能解决你的问题,请参考以下文章

后退按钮重新提交表单数据 ($_POST)

在 Woocommerce 3 中通过 ajax 提交并在结帐时创建订单

GWT文件上传表单提交POST请求无法读取文件

提交后清除画布[重复]

使用 curl 提交/检索表单结果

数据验证后提交表单