Php 如何从一个窗体存储多个同名数组

Php 如何从一个窗体存储多个同名数组,php,mysql,Php,Mysql,假设我试图从一个表单中存储三个人的姓名、电话和电子邮件,这里是我的代码 <form method="post" action="demo.php"> <input type="text" name="name[]"> <input type="text" name="phone[]"> <input type="text" name="email[]"> <br> <input type="

假设我试图从一个表单中存储三个人的姓名、电话和电子邮件,这里是我的代码

<form method="post" action="demo.php">
    <input type="text" name="name[]">
    <input type="text" name="phone[]">
    <input type="text" name="email[]">
    <br>
    <input type="text" name="name[]">
    <input type="text" name="phone[]">
    <input type="text" name="email[]">
    <br>
    <input type="text" name="name[]">
    <input type="text" name="phone[]">
    <input type="text" name="email[]">
    <br>
    <input type="submit">
</form>
它正确地存储了三个人的姓名,但没有存储三个人的电话和电子邮件 我也尝试了for循环,但没有得到结果,请告诉我如何从一个表单存储多个数组。

您可以这样做:

// variables of the form
$phone = $_POST['phone'];
$email = $_POST['email'];

foreach($_POST['name']as $k => $id)
{
    $name= mysql_real_escape_string($id);

    $query1 = "INSERT INTO list (name,phone,email) VALUES ('$name','$phone[$k]','$email[$k]')";
    $query = mysql_query($query1);
}
if($query)
{
    return true;
}
else{
    echo "Something Wrong";
}

$\u POST['phone']
$\u POST['email']
包含数组。您可能想要pop()(或者unshift(),我没有想过)这些数组。此外,您正在编写易受SQL注入攻击的代码。请使用未过时的数据库库(如PDO)并使用准备好的语句,以避免将漏洞引入应用程序。我的问题很简单,如何从一个表单存储多个同名数据,如果您有任何工作脚本,请向我展示,谢谢。我不会为您编写代码,但是我会告诉你你能做些什么来让你的代码工作。正如我所说,
$\u POST['phone']
$\u POST['email']
包含数组。它们分别包含所有输入的电话号码和所有输入的电子邮件地址。PHP提供了许多用于操作数组的函数。您希望在循环的每次迭代中对每个数组使用
.pop()
。或者它可能是
.unshift()
而不是
.pop()
,正如我之前所说。你犯了一个错误,请看这里的foreach($\u POST['name']作为$k=>$id)我使用foreach($\u POST['name']作为$k=>$id)并完成了。谢谢亲爱的解决了…真的很好..是的,你是对的,我复制了上面的代码,谢谢!
// variables of the form
$phone = $_POST['phone'];
$email = $_POST['email'];

foreach($_POST['name']as $k => $id)
{
    $name= mysql_real_escape_string($id);

    $query1 = "INSERT INTO list (name,phone,email) VALUES ('$name','$phone[$k]','$email[$k]')";
    $query = mysql_query($query1);
}
if($query)
{
    return true;
}
else{
    echo "Something Wrong";
}