0

我正在构建一个系统,允许组织成员将他们收到的时事通讯推荐给他们的朋友或家人。我想做的是给这些成员一个页面,让他们可以将那个人的姓名和电子邮件地址添加到表单中。此表单将限制为 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

这才是最终产品应该的样子。

4

2 回答 2

1

you just need one form and then the user id of the person who is logged in.

<?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>
于 2012-12-05T13:57:13.377 回答
0

您可以在注册时为所有具有不同名称的人提供额外的电子邮件地址,例如 guest_email_1、guest_email_2 等等。

然后在数据库方面,您可以向该用户记录添加一些新字段以添加这些电子邮件地址,或者您可以创建一个用于存储这些访客电子邮件的新表。在此表中,您可以获得注册他们的人的 ID,以便在需要时参考该电子邮件地址的来源。

那是你要找的吗?

编辑我认为您可能正在寻找一种方法来获取刚刚添加的用户的 ID。因此,假设用户登顶表单并将他们添加到数据库表中,但现在我们必须将他们的 ID 以及电子邮件地址添加到另一个表中。如果这是正确的并且您使用的是 mysqli 则有一个函数mysqli_insert_id这是它的手册:

[mysqli_inser_id - manual][1]

此功能将获取添加到数据库的最后一个 ID,然后您可以使用它来存储具有原始用户 ID 的其他电子邮件地址。

那个?

于 2012-12-05T12:46:11.387 回答