jQuery数组的数据在将其数据传输到另一个文件中的PHP数组后不会显示在数据库中



>我正在将jQuery数组的值从{file.js}发送到另一个PHP数组到{file.php},但传输的数据不会显示在数据库中 目标列中的空行将显示在数据库的表中,而 ID 将出现

我写在文件上的脚本.js如下:

var emailText;
var emailArray = new Array();
$("#emailAddress").keypress(function (event){
if(event.which === 13){
var emailText = $(this).val();
$(this).val("");
emailArray.push(emailText);
$('ul').prepend('<li>' + emailText + '<span><i class="fa fa-trash"></i></span>');
$.post(
"http://localhost/main_dir/dir/file.php", 
emailArray,
function(){
alert('Your email has been added to the database successfully');
}
);
}
});

我在文件上编写的代码.php如下:

<?php
require_once 'dbhandler.php';
$add_email = array("");
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$add_email = $_POST['emailArray'];
$sql = "INSERT INTO databse (new_added_email) VALUES ('$add_email');";
$result = mysqli_query($conn, $sql);
}

?>

1st:我不知道将array用于电子邮件的目的是什么,而ID必须是唯一的,并且您必须只有一个电子邮件输入 所以你的情况下不需要数组

2nd:正如我发布的那样,评论数据应该在大括号之间发布{}

3rd:搜索任何类型的验证以验证发布到数据库的数据

第四:最好将电子邮件发布到php/数据库,然后在返回时将电子邮件预置给用户

在 js 中

$("#emailAddress").keypress(function (event){
if(event.which === 13){
var $this = $(this);
var emailText = $this.val();
if(validateEmail(emailText)){
$.post(
"http://localhost/main_dir/dir/file.php", 
{email : email},
function(data){
console.log(data);
$this.val("");
$('ul').prepend('<li>' + data + '<span><i class="fa fa-trash"></i></span>');
alert('Your email has been added to the database successfully');
}
);
}else{
alert(emailText+' Not valid email');
}
}
});
function validateEmail(email) {
const re = /^(([^<>()[]\.,;:s@"]+(.[^<>()[]\.,;:s@"]+)*)|(".+"))@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}])|(([a-zA-Z-0-9]+.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}

在 php 中

<?php
require_once 'dbhandler.php';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$add_email = $_POST['email'];
// check for email validation 
// if(email_is_valid){
$sql = "INSERT INTO databse (new_added_email) VALUES ('$add_email');";

if($result = mysqli_query($conn, $sql)){
echo $add_email;
}
// } 
}

?>

我在 js 中添加了function validateEmail(email)来检查电子邮件验证,您需要另一个进行 php 验证,只需搜索它,然后在处理数据库之前在 php 文件中使用它

最新更新