gpt4 book ai didi

php mysql ajax 注册表单与图像上传

转载 作者:行者123 更新时间:2023-11-29 23:21:35 26 4
gpt4 key购买 nike

兄弟你好,我想问你如何使用 php mysql ajax 制作带有图像上传(base64)的注册表单,这是我代码的一部分,但它不起作用。我希望您能告诉我表行的类型并给我正确的代码来执行此操作。

$("#dsubmit").click(function(){
var formData = new FormData(this);
demail=$("#demail").val();
dpassword=$("#dpassword").val();
dfirstname=$("#dfirstname").val();
dlastname=$("#dlastname").val();
dtel=$("#dtel").val();
dadr=$("#dadr").val();
dspeciality=$("#dspeciality").val();
dcodepost=$("#dcodepost").val();

$.ajax({
type: "POST",
url: "inc/regdoc.php",
data: formData,"&demail="+demail+"&dpassword="+dpassword+"&dfirstname="+dfirstname+"&dlastname="+dlastname+"&dtel="+dtel+"&dadr="+dadr+"&dspeciality="+dspeciality+"&dcodepost="+dcodepost,
async: false,
cache: false,
contentType: false,
processData: false,
success: function(html){
if(html=='true') {
$("#dmsg_box_connexion").css("color","green");
$("#dmsg_box_connexion").html("Utilisateur Ajouté avec succés ! Redirection ...");
window.setTimeout(function(){window.location.href = "index.php";}, 5000);
} else {
$("#dmsg_box_connexion").html("S'il vous plaît remplir tous les champs");
}
},
beforeSend:function() {
if((demail == "")||(dfirstname == "")||(dlastname == "")||(dtel == "")||(dpassword == "")||(document.getElementById("dfile").value == "")||(dcodepost == "")||(dadr == "")) {
$("#dmsg_box_connexion").css("color","red");
$("#dmsg_box_connexion").html("Tous Les Champs Sont Obligatoires !");
return false;
}

$("#dmsg_box_connexion").css("clor", "#32b1d3");
$("#dmsg_box_connexion").html("Validation...");
}
});
return false;
});

});

这是 php 文件:

session_start();
$email = addslashes(htmlentities($_POST["demail"]));
$password = addslashes(htmlentities($_POST["dpassword"]));
$firstname = addslashes(htmlentities($_POST["dfirstname"]));
$lastname = addslashes(htmlentities($_POST["dlastname"]));
$codepost = addslashes(htmlentities($_POST["dcodepost"]));
$adresse = addslashes(htmlentities($_POST["dadr"]));
$tel = addslashes(htmlentities($_POST["dtel"]));
$speciality = addslashes(htmlentities($_POST["dspeciality"]));
$get_content = file_get_contents($_FILES['dfile']['tmp_name']);
$escape = mysql_real_escape_string($get_content);
$sourcePath = $_FILES['dfile']['tmp_name']; // Storing source path of the file in a variable
$targetPath = "uploads/".$_FILES['dfile']['name']; // Target path where file is to be stored
move_uploaded_file($sourcePath,$targetPath) ; // Moving Uploaded file
$pass = sha1($password);
include ('pgs/config.php');
$insert = $bdd->query("INSERT INTO tbl_docs VALUES ('','$firstname','$lastname','$tel','$adresse','$speciality','$email','$pass','$escape','1','$codepost')");
if($insert == 1) {
echo 'true';
} else {
echo 'false';
}

这是表单标题:

<form id="d" method="post" action="#inc/regdoc.php" enctype="multipart/form-data">

最佳答案

检查我在项目中实现的工作示例,如何提交包含图像和一些数据字段的表单。

$(document).on('submit', '#catcategory-form', function(event) {
event.preventDefault();
$.ajax({
url: "product.php",
method: 'POST',
data: new FormData(this),
dataType: 'json',
contentType: false,
processData: false,
success: function(infodata) {
if(infodata=='true'){

//do the stuff whatever you want

}

});
});

图像上传的另一个选项是转换 base64。您所要做的是将您的表单图像转换为 Base 64 并在 onChange 事件上将其发送到 php 并将其上传到文件中并在数据库中保留唯一名称

//Call this function after getting base64 by post

$imageBase64=$_POST['image_converted_base64'];//get base64 of image from client end

$unique_name =uploadSingleImage($imageBase64);//function call

//function to upload image and get an unique name to store in db

function uploadSingleImage($base64) {

$uniname = uniqid() . date("Y-m-d-H-i-s") . ".jpg";
$new_image_url = "../../image/" . $uniname;
$base64 = 'data:image/jpeg;base64,' . $base64;
$base64 = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $base64));
file_put_contents($new_image_url, $base64);
return $uniname;
}

$sql = "INSERT INTO `table1`(image_name) VALUES('$unique_name')";
$conn->query($sql);

关于php mysql ajax 注册表单与图像上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27244711/

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