gpt4 book ai didi

php - 通过foreach循环插入多个表单域的数据

转载 作者:行者123 更新时间:2023-11-29 01:15:58 25 4
gpt4 key购买 nike

我有四个字段。两个名称字段和两个电子邮件字段。我必须通过 foreach 循环插入所有字段数据,但是当我通过 foreach 循环插入数据时,一个空白条目也会插入到数据库中。

示例代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<form method="post">
Name : <input type="text" name="name[]"><br>
Email : <input type="text" name="email[]"><br>
Name : <input type="text" name="name[]"><br>
Email : <input type="text" name="email[]"><br>
<input type="submit" name="submit">
</form>
</body>
</html>

[![<?php
if(isset($_POST['submit']))
{
$conn = mysqli_connect("localhost", "root", "", "practice");
$i=0;

foreach($_POST as $val)
{
$name=$_POST['name'][$i];
$email=$_POST['email'][$i];

$sql = "insert into interview (Name, Email) values ('$name', '$email')";
$result = mysqli_query($conn, $sql);
$i++;

}

}
?>

谁能帮帮我?

This is my database table screen shot.

最佳答案

先看这里How can I prevent SQL injection in PHP?以不同的方式进行查询,否则你就完蛋了。

由于 nameemail 的索引相同,只需循环一个并通过键引用另一个:

foreach($_POST['name'] as $key => $val) {
$name = $val;
$email = $_POST['email'][$key];

// prepared statement query
}

或者您可以像这样输入以获得更像数据库行的数组:

Name  : <input type="text" name="data[0][name]"><br>
Email : <input type="text" name="data[0][email]"><br>

然后轻松循环:

foreach($_POST['data'] as $val) {
$name = $val['name'];
$email = $val['email'];
}

关于php - 通过foreach循环插入多个表单域的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39925912/

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