gpt4 book ai didi

php - 如何使用数据库中的数据预填充 Web 表单

转载 作者:搜寻专家 更新时间:2023-10-31 22:03:52 24 4
gpt4 key购买 nike

我有一个表格(实际上是 4 个连续页面上的 4 种不同表格,但效果相同)用户填写该表格以注册网站。表单中有许多(100 多个)项目,包括文本框、范围,但主要是复选框。

一旦用户注册,我希望他们能够通过他们自定义主页上的简单“编辑”链接来编辑他们的偏好。我的想法是,他们将再次简单地看到注册表单,但这次他们将使用我的数据库中链接到他们的用户帐户的数据进行预填充。

这是否像所讨论的包含要传递到表单页面的 POST 值的“编辑”链接一样简单:

http://www.mysite.com/something.php?edit=true

然后在表单页面的 php 中检查这个值,如果 edit 为 true,则在每个表单项中设置值?

我仔细检查这个的原因是因为似乎有很多代码要遍历表单中的每个项目并将其值设置为数据库中的任何内容,我不想这样做只是为了以后才知道有一种更快、编程强度更低的方法可以做到这一点!

如果它有助于找到替代解决方案,我使用 PDO,则通过包含他们(唯一)电子邮件地址的 session 变量来识别用户,并且表单名称与数据库列名称相同。

最佳答案

我会把表单放在一个单独的 php 文件中,这样它就可以被不同的 php 脚本重用。

在这个单独的 php 文件中,我会将输入值设置为 POST 变量。
IE。 (对于这个例子,我们将这个文件称为 myform.php)

<form action="<?php echo htmlspecialchars($_SERVER['REQUEST_URI'], ENT_QUOTES); ?>" method="POST">
<input type="text" name="first_name" value="<?php echo @$_POST['first_name']; ?>" >
<input type="text" name="last_name" value="<?php echo @$_POST['last_name']; ?>" >
<input type="text" name="username" value="<?php echo @$_POST['username']; ?>" >
<input type="submit" name="submit" value="<?php echo $submit_value; ?>" >
</form>


然后在编辑页面的 PHP 端有(这假设您的数据库字段与您的输入字段名称匹配)

<?php
foreach($db_row_fields as $field_key => $field_value)
{
$_POST[$field_key] = $field_value;
}

$submit_value = "Update";

include 'myform.php';

显然只从数据库中获取您需要的字段。


对于您的注册,您只需要设置 $submit_value 因为您希望 POST 变量为空

$submit_value = "Sign Up";

include 'myform.php';

虽然您使用两个不同的 PHP 脚本来处理注册和编辑,但也使验证和表单处理代码尽可能可重用。

关于php - 如何使用数据库中的数据预填充 Web 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22615415/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com