gpt4 book ai didi

php - 我如何发送数据表格?

转载 作者:行者123 更新时间:2023-12-01 05:31:47 27 4
gpt4 key购买 nike

当我尝试序列化数据表单时遇到问题。

这是代码。我有一个包含表单的 page1.php。当表单发送后,我通过 AJAX 检索表单数据,然后将其发送到 page2.php。

当它尝试序列化文件字段时,就会出现问题。

page1.php(包含表单)

$(document).ready(function(){
$("#enviar").click(function(e){
e.preventDefault();
$.ajax({
type: "POST",
url: "processar_updateUser.php",
data: $("form").serialize(),
success: function(data){
alert(data);
}
});
return false;
});
});

page2.php(处理表单数据)

<?php
$personal_name = addslashes(htmlentities($_POST['personalname']));
$name = addslashes(htmlentities($_POST['name']));
$surname = addslashes(htmlentities($_POST['surname']));
$concatnom = $name.".".$surname;
$password = addslashes(htmlentities($_POST['password']));
$adegree = addslashes(htmlentities($_POST['adegree']));
$initials = addslashes(htmlentities($_POST['initials']));
$n = substr($name,0,1);
$c = substr($surname,0,1);
$initials = $n.$c;
$email = addslashes(htmlentities($_POST['email']));// que sigui cadena+@"+cadena+.+cadena
$telephone = addslashes(htmlentities($_POST['telephone'])); //numero y nomes 9
$signature = addslashes(htmlentities($_FILES['signature']['name']));//i have used $_POST, but dind't work
?>

最佳答案

试试这个(根据您的 html 替换 JQuery 选择器):

var formData = new FormData();
formData.append('personalname', $("#personalname").val());
formData.append('name', $("#name").val());
formData.append('surname', $("#surname").val());
formData.append('password', $("#password").val());
formData.append('adegree', $("#adegree").val());
formData.append('initials', $("#initials").val());
formData.append('email', $("#email").val());
formData.append('telephone', $("#telephone").val());
formData.append('signature', $('#signature')[0].files[0]);

$(document).ready(function(){
$("#enviar").click(function(e){
e.preventDefault();
$.ajax({
type: "POST",
url: "processar_updateUser.php",
data: formData,
success: function(data){
alert(data);
}
});
return false;
});
});

这可能很乏味,但这是我设法将图像发送到后端的方法

方法$('#signature')将返回一个JQuery输入对象。

此:$('#signature')[0] 返回 HTML 输入标记。

此:$('#signature')[0].files 返回包含您选择的所有文件的 JQuery 对象。

最后,$('#signature')[0].files[0] 将返回 JQuery 对象中的第一个文件...

我假设您只接受一个文件...如果不接受,您必须将 $('#signature')[0].files< 中存储的每个文件附加到 formData

<小时/>

希望这有帮助。

问候

关于php - 我如何发送数据表格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36800262/

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