Php 使用$.post()方法将图像发送到其他页面
我有两个页面,第一个页面有一个表单,它接受诸如姓名、手机号码等信息和来自用户的图像。 我想使用jquery访问图像,并使用$.post()方法将其发送到另一个页面。我想访问图像并将其插入数据库 第一档Php 使用$.post()方法将图像发送到其他页面,php,jquery,html,mysql,ajax,Php,Jquery,Html,Mysql,Ajax,我有两个页面,第一个页面有一个表单,它接受诸如姓名、手机号码等信息和来自用户的图像。 我想使用jquery访问图像,并使用$.post()方法将其发送到另一个页面。我想访问图像并将其插入数据库 第一档 <script> $(function(){ $("#add_staff").click(function(){ event.preventDefault(); var regex_mo
<script>
$(function(){
$("#add_staff").click(function(){
event.preventDefault();
var regex_mobile=/^\d{10}$/;
var regex_email = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
var insti=$("#inst_id").val();
var name=$("#Staff_name").val();
var pwd=$("#Staff_pwd").val();
var add=$("#staff_address").val();
var dob=$("#Staff_dob").val();
var mail=$("#Staff_mail").val();
var role=$("#Staff_role").val();
var mobile=$("#Staff_mobile").val();
var img = $('#image').prop('files')[0];
if(name=="" || pwd=="" || add=="" || dob=="" || mail=="" || role=="" || mobile=="")
{
alert("All fields are compulsory");
}
else{
if(!regex_mobile.test(mobile)) {
alert("Mobile Number invalid");
}
else if(!regex_email.test(mail)){
alert("Email Invalid");
}
else{
$.post("add_faculty2.php",
{
insti: insti,
name:name,
pwd:pwd,
add:add,
dob:dob,
mail:mail,
role:role,
mobile:mobile,
img:img
},
function(data,status){
$("#msg").text(data);
alert(data);
alert(status);
});
}
});
});
</script>
$(函数(){
$(“#添加员工”)。单击(函数(){
event.preventDefault();
var regex_mobile=/^\d{10}$/;
var regex\u email=/^([a-zA-Z0-9\.-\+])+\@([a-zA-Z0-9\]+\.)+([a-zA-Z0-9]{2,4})+$/;
var insti=$(“#inst_id”).val();
变量名称=$(“#员工名称”).val();
var pwd=$(“#Staff_pwd”).val();
var add=$(“#员工地址”).val();
var dob=$(“#Staff_dob”).val();
var mail=$(“#员工邮件”).val();
变量角色=$(“#员工角色”).val();
var mobile=$(“#Staff_mobile”).val();
var img=$('#image').prop('files')[0];
如果(姓名=“”| | pwd=“”| |添加=“”| | dob=“”| |邮件=“”| |角色=“”| |手机=“”)
{
警报(“所有字段均为必填字段”);
}
否则{
如果(!regex_mobile.test(mobile)){
警报(“手机号码无效”);
}
如果(!regex_email.test(mail)){
警报(“电子邮件无效”);
}
否则{
$.post(“add_faculty2.php”,
{
学院:学院,
姓名:姓名,,
pwd:pwd,
加:加,,
多布:多布,
邮件:邮件,,
角色:角色,,
手机:手机,,
img:img
},
功能(数据、状态){
$(“#msg”).text(数据);
警报(数据);
警报(状态);
});
}
});
});
在上面的文件中,所有信息都被用户接受,在jquery中,我尝试访问所有信息和图像,然后尝试使用$.post()方法将数据发送到其他页面
第二档
<?php
$insti =$_POST['insti'];
$name =$_POST['name'];
$pwd =$_POST['pwd'];
$add =$_POST['add'];
$dob =$_POST['dob'];
$mail =$_POST['mail'];
$role =$_POST['role'];
$mobile =$_POST['mobile'];
$img =$_POST['img'];
$today = date("Y-m-d H:i:s");
include_once 'conf.php';
$q="insert into tbl_staff_details(inst_id,name,pwd,email,phone,photo,address,dob,role,created_date) values('".$insti."','".$name."','".$pwd."','".$mail."','".$mobile."','".$img."','".$add."','".$dob."','".$role."','".$today."')";
echo $q;
$r=mysqli_query($con,$q);
if($r)
{
echo "Success";
}
else
{
echo "Fail";
}
确定首先需要在javascript中使用FormData()
范例
// formdata
var formdata = FormData();
var insti=$("#inst_id").val();
var name=$("#Staff_name").val();
var pwd=$("#Staff_pwd").val();
var add=$("#staff_address").val();
var dob=$("#Staff_dob").val();
var mail=$("#Staff_mail").val();
var role=$("#Staff_role").val();
var mobile=$("#Staff_mobile").val();
var img = $('#image').prop('files')[0];
formdata.append('upload[insti]', insti);
formdata.append('upload[name]', name);
formdata.append('upload[pwd]', pwd);
formdata.append('upload[add]', add);
formdata.append('upload[dob]', dob);
formdata.append('upload[mail]', mail);
formdata.append('upload[role]', role);
formdata.append('upload[mobile]', mobile);
formdata.append('upload[img]', img);
// now send
$.post("add_faculty2.php", formdata,
function(data,status){
$("#msg").text(data);
alert(data);
alert(status);
}
);
在php脚本中,您可以通过调用
$img = $_FILES['upload']['img']['name'];
$img_tmp = $_FILES['upload']['img']['tmp_name'];
其他
$insti = $_POST['upload']['insti'];
$name = $_POST['upload']['name'];
$pwd = $_POST['upload']['pwd'];
$add = $_POST['upload']['add'];
$dob = $_POST['upload']['dob'];
$mail = $_POST['upload']['mail'];
$role = $_POST['upload']['role'];
$mobile = $_POST['upload']['mobile'];
$today = date("Y-m-d H:i:s");
// you can see the image printed here..
var_export($img);
希望这能有所帮助。警告的可能重复:当使用mysqli
时,您应该使用and将用户数据添加到查询中。不要使用字符串插值或连接来完成此操作,因为您创建了一个严重的错误。切勿将$\u POST
、$\u GET
或任何用户数据直接放入查询中,这可能是错误的如果有人试图利用你的错误,这是有害的。注意:mysqli
的面向对象接口明显不那么冗长,使代码更易于阅读和审核,并且不容易与过时的mysql\u query
接口混淆。在你对过程风格投入过多之前,值得切换。例如:$db=newmysqli(…)
和$db->prepare(“…”)
过程接口是php4时代的产物,当时引入了mysqli
API,不应在新代码中使用。