【问题标题】:how do i send an int to a database in web form如何以 Web 形式将 int 发送到数据库
【发布时间】:2014-01-24 14:56:32
【问题描述】:
<?php
    if(isset($_POST['submit'])) {
       $name = $_POST['name'];
       $keywords = $_POST['keywords'];
       $description = $_POST['description'];
       $user_id = $_GET['user_id'];


?>        

我有一个需要识别用户 ID # 的网络表单。我在$user_id = $_GET['user_id']; 的位置设置了它,我也相信我的 id 检索代码是正确的。我确保 user_id 与我的表匹配,但我不断收到一条错误消息,指出 user_id 是一个未识别的索引。

【问题讨论】:

  • 请向我们展示您的代码
  • 我们需要您使用的查询和数据库的结构。
  • 为什么你使用 get 作为 user_id 而 post 用于其余的??

标签: php mysql database forms web


【解决方案1】:

这意味着 user_id 没有在标头中发送;您在该代码 sn-p 中同时使用 GET 和 POST,除非您的表单操作中包含查询字符串,否则在执行 HTTP 请求时一次只能发送一个。

我相信您可以做的是,在您的表单页面上,您在 URL 中设置了 user_id,但是当发布该表单时,您将丢失所有查询字符串,因此您需要这样做;

<form action="/post.php?user_id=123" method="POST">

这有望解决您的问题。

【讨论】:

  • 我不想让它成为文本输入,我希望它自动发送登录的用户 ID。
  • 您好,您为什么要通过 GET 发送 user_id?您需要在答案中添加一些代码,以便我们准确了解您在做什么。
  • 我刚刚使用用于 4 个变量的代码编辑了帖子。我三次检查它们是否与数据库中的内容完全匹配。
  • 试试我的建议。
  • 我仍然有这个问题。如果有帮助,除了数据库中 user_id 的未识别索引错误之外,表单的其余部分都会提交,但 user_id 始终 = 0。
【解决方案2】:

您是否将 user_id 检索更改为 POST?应该是

$user_id = $_POST['user_id'];

如果仍然无法正常工作,请检查您在哪里为任何拼写错误定义了 user_id。

【讨论】:

    【解决方案3】:

    好吧,也许我知道你想指出什么。您想获取已经在您的网站/网页中登录的用户的 user_id 吗?如果是这样,那么您必须使用以下代码:

    $_SESSION['user_id'] = $_POST['user_id'];
    

    这样您就可以在页面中的任何位置访问用户的 ID。希望这会有所帮助。

    【讨论】:

    • 这一半有效。我没有更多错误,但它把我重定向到一个名为 localhost/post.php?user_id=123 的页面。我不希望它重定向,只是将 user_id 与表单中发送的其他信息一起发送。
    猜你喜欢
    • 2018-02-25
    • 1970-01-01
    • 2014-04-10
    • 2022-08-06
    • 1970-01-01
    • 2018-08-21
    • 1970-01-01
    • 1970-01-01
    • 2021-01-07
    相关资源
    最近更新 更多