我正在构建一个系统,允许组织成员将他们收到的简报推荐给他们的朋友或家人。我想做的是给这些成员一个页面,允许他们将人名和电子邮件地址添加到表单中。此表单将限制为5个电子邮件名称和电子邮件地址,因此您基本上有五行,每行有两个HTML表单输入。
我的问题是我不知道如何将其可靠地添加到数据库中?我是否需要5个单独的表单,然后通过一个表单提交按钮提交?
修改
我现在拥有两张桌子。一个member
表和一个referral
表。当成员开始引用过程时,他们的数据将被添加到member
表中,然后获取其ID。
member
表包含以下字段:
ID
Firstname
Surname
Email
Referrer
当会员添加他们自己的详细信息时,我会将他们的ID存储起来以供日后使用。
然后,我想要一个看起来像这样的表格:
Referral 1: their email address - their name
Referral 2: their email address - their name
Referral 3: their email address - their name
Referral 4: their email address - their name
Referral 5: their email address - their name
这样我就可以将他们的信息添加到referral
表中,看起来这样会添加所有数据:
ID | Firstname | Surname | Email | Referrer
==========================================================================
1 | Joe | Bloggs | joe@bloggs.com | 1
2 | John | Bloggs | john@bloggs.com | 1
3 | James | Bloggs | james@bloggs.com | 1
4 | Jordan | Bloggs | jordan@bloggs.com | 1
5 | Jack | Bloggs | jack@bloggs.com | 1
这就是最终产品应该是什么。
答案 0 :(得分:1)
您只需要一个表单,然后是登录人员的用户ID。
<?php
if (!empty($_POST))
{
for($i = 1; $i < 6; $i++)
{
mysql_query("INSERT INTO tbl (name, email, referrer) VALUES ('" . $_POST[name . $i] . "', '" . $_POST[email . $i] . "', '" . $_SESSION[user_id] . "')");
}
}
?>
<html>
<head></head>
<body>
<form action="<?= $_SERVER['REQUEST_URI'] ?>" method="post">
<?php
for($i = 1; $i < 6; $i++)
{
echo '<p>';
echo 'Name ' . $i;
echo '<input type="text" name="name' . $i . '" id="name' . $i . '">';
echo 'Email ' . $i;
echo '<input type="text" name="email' . $i . '" id="email' . $i . '">';
echo '</p>';
}
?>
<input type="submit" value="save">
</form>
</body>
</html>
答案 1 :(得分:0)
您可以在注册中为所有人提供额外的电子邮件地址,例如guest_email_1,guest_email_2等等。
然后在数据库端,您可以向该用户记录添加一些新字段以添加这些电子邮件地址,或者您可以创建一个用于存储这些访客电子邮件的新表。在此表中,您可以拥有签名人员的ID,以便您可以根据需要参考该电子邮件地址的来源。
这就是你要找的东西吗?
编辑我认为您可能正在寻找获取刚刚添加的用户ID的方法。因此,假设用户提交表单并将它们添加到数据库表中,但现在我们必须将其ID和电子邮件地址添加到另一个表中。如果这是正确的,你使用mysqli然后有一个函数mysqli_insert_id
这是它的手册:
[mysqli_inser_id - manual][1]
此功能将获取添加到数据库的最后一个ID,然后您可以使用它来存储其他电子邮件地址以及原始用户的ID。
那是吗?