【问题标题】:Try to get data from table and insert into my database尝试从表中获取数据并插入我的数据库
【发布时间】:2021-12-16 10:12:29
【问题描述】:

谁能帮忙解决这个问题:

如果用户喜欢一部电影,我会尝试收集电子邮件并更新我的数据库。我现在需要两个变量:emailid。对于email,我使用了一个表单来收集用户的电子邮件,但是如何在不让用户手动输入的情况下收集id?例如,如果用户在 101 行提交了他/她的电子邮件,那么计算机如何知道 id 应该是 101,反之亦然?

这是我现在得到的桌子:

echo "<tr>
        <td style='text-align:center'>".$value['id']."</td>
        <td style='text-align:center'>".$value['name']."</td>
        <td style='text-align:center'>".$value['rating']."</td>
        <td style='text-align:center'>".$value['production']."</td>
        <td style='text-align:center'>".$value['budget']."</td>
        <td>
            <form action='like.php' method='post'>
                E-mail: <input type='text' name='email3'><br>
                <input type='submit'>
            </form>
        </td>
        </tr>";

like.php 是执行 SQL 的地方。该表如下所示:

【问题讨论】:

  • 好的,你的问题是什么,你实际上并没有问一个,所以我假设你希望我们为你做编码

标签: php html forms


【解决方案1】:

您可以使用hidden 输入类型。根据MDN docs

&lt;input&gt; 隐藏类型的元素让 Web 开发人员可以包含以下数据 提交表单时,用户无法查看或修改。为了 例如,当前正在订购的内容的 ID 或 已编辑或唯一的安全令牌。隐藏输入完全 在渲染页面中不可见,并且无法使其可见 在页面的内容中。

如下修改你的代码

echo "<tr>
        <td style='text-align:center'>".$value['id']."</td>
        <td style='text-align:center'>".$value['name']."</td>
        <td style='text-align:center'>".$value['rating']."</td>
        <td style='text-align:center'>".$value['production']."</td>
        <td style='text-align:center'>".$value['budget']."</td>
        <td>
            <form action='like.php' method='post'>
                E-mail: <input type='text' name='email3'><br>
                <input type="hidden" value=". $value['id'] ." name"hidden_id">
                <input type='submit'>
            </form>
        </td>
        </tr>";

然后你可以在你的like.php 中访问id,如下所示

$id = $_POST['hidden_id']

【讨论】:

  • 非常感谢您的帮助。
  • @KarryXia 不客气。欢迎来到堆栈溢出。如果您find this useful,请点赞并接受答案
【解决方案2】:

您可以让用户看到一个按钮并隐藏其他信息,我还假设您只需要一个 ID,因为它应该唯一标识用户

echo "<tr>
        <td style='text-align:center'>".$value['id']."</td>
        <td style='text-align:center'>".$value['name']."</td>
        <td style='text-align:center'>".$value['rating']."</td>
        <td style='text-align:center'>".$value['production']."</td>
        <td style='text-align:center'>".$value['budget']."</td>
        <td>
            <form action='like.php' method='post'>
                <input type='text' name='id' value=" . $value['id'] ."><br>
                <input type='submit' name="like" value="LIKE">
            </form>
        </td>
        </tr>";

现在like.php 只是从 $_POST 中读取 `id 并使用它来维护类似的系统。

您也可以通过删除此行来停止向用户显示他们的 ID

<td style='text-align:center'>".$value['id']."</td>

或者,您应该知道哪个用户已登录,并且该详细信息可能会保存在 SESSION 中

【讨论】:

  • 非常感谢!
猜你喜欢
  • 1970-01-01
  • 2011-08-05
  • 2017-05-16
  • 1970-01-01
  • 2017-01-02
  • 2012-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多