这是我的html页面的表单部分。
<form action="#" method="post" enctype="multipart/form-data">
<div class="form-group">
<div class="input-group input-group-sm">
<span class="input-group-addon">
<span class="glyphicon glyphicon-user"></span></span>
<input type="text" class="form-control" name="name" id="name" placeholder="Full Name"/>
</div>
</div>
<div class="form-group">
<div class="input-group input-group-sm">
<span class="input-group-addon">
<span class="glyphicon glyphicon-user"></span></span>
<input type="text" class="form-control" name="user" id="user" placeholder="User Name"/>
</div>
</div>
<div class="form-group">
<div class="input-group input-group-sm">
<span class="input-group-addon">
<span class="glyphicon glyphicon-envelope"></span></span>
<input type="email" class="form-control" name="email" id="email12" placeholder="Email"/>
</div>
<br/>
<div class="form-group">
<div class="input-group input-group-sm">
<span class="input-group-addon">
<span class="glyphicon glyphicon-user"></span></span>
<div class="form-control">
<label class="radio-inline">
<input type="radio" name="gender" class="gender" value="male">Male
</label>
<label class="radio-inline">
<input type="radio" name="gender" class="gender" value="female">Female
</label>
</div>
</div>
</div>
<div class="form-group">
<div>Please, upload your profile photo :<br></div>
<div class="input-group input-group-sm">
<span class="input-group-addon">
<span class="glyphicon glyphicon-user"></span></span>
<input type="file" class="form-control" name="pic" id="pic"/>
</div>
</div>
<div class="form-group">
<div class="input-group input-group-sm">
<span class="input-group-addon">
<span class="glyphicon glyphicon-lock"></span></span>
<input type="password" class="form-control" name="pass" id="pass123" placeholder="Password"/>
</div>
</div>
<div class="form-group">
<div class="input-group input-group-sm">
<span class="input-group-addon">
<span class="glyphicon glyphicon-user"></span></span>
<input type="text" class="form-control" name="mob" maxlength="10" id="mob" placeholder="Mobile no."/>
</div>
</div>
<div class="form-group">
<div class="input-group input-group-sm">
<span class="input-group-addon">
<span class="glyphicon glyphicon-home"></span></span>
<textarea class="form-control" rows="2" cols="15" name="address" id="address" placeholder="Address"></textarea>
</div>
</div>
<div class="controls controls-row">
<!--<form method="POST" >-->
<div class="controls controls-group"></div>
</div>
<div class="modal-footer">
<span id="err1" class="form-alert" style="color:red;float:left;"></span>
<input type="submit" class="btn btn-success" id="save" value="Register" name="regis" />
<button type="button" class="btn btn-success" data-dismiss="modal">Cancel</button>
</form>
<!-- Ajax Registeration Submit -->
<script>
$(document).ready(function(){
$("#err1").hide();
$("#save").click(function(){
var user =$('#user').val();
var email =$('#email12').val();
var pass =$('#pass123').val();
var name =$('#name').val();
var gender =$('.gender:checked').val();
var pic =$('#pic').val();
var mob =$('#mob').val();
var address =$('#address').val();
var dataString = 'user='+ user + '&email='+ email+'&pass='+ pass + '&name=' + name + '&gender=' + gender + '&pic=' + pic + '&mob=' + mob + '&address=' + address;
//alert(dataString);
if(email==''||pass==''||user==''||name==''||gender==''||pic==''||mob==''||address=='')
{
$("#err1").html(" Enter the details before submit ");
$("#err1").hide().slideDown();
}
else
{
// AJAX Code To Submit Registeration Form.
$.ajax({
type: "POST",
url: "msg_ajax.php",
data: dataString,
cache: false,
success: function(result){
// $("#err").show();
$('#err1').html(result);
$("#err1").hide().slideDown();
/*setTimeout(function(){
$("#err1").hide();
}, 3000);*/
}
});
}
return false;
});
});
</script>
msg_ajax.php
<?php
$user=$_POST['user'];
$email=$_POST['email'];
$pass=$_POST['pass'];
$name=$_POST['name'];
$gender=$_POST['gender'];
$pic = $_FILES['pic']['name'];
$tmp_pic = $_FILES['pic']['tmp_name'];
$imageFileType = pathinfo($pic,PATHINFO_EXTENSION);
$address=$_POST['address'];
$phone=$_POST['mob'];
$mob="/^\d{10}$/";
if(!preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/', $email)){
echo "Please enter a valid email";
}
elseif($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif"){
echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
}
elseif($_FILES["pic"]["size"] > 100000) {
echo "Sorry, your file is too large.";
}
else
{
$query="select * from user where email='$email'";
$select12=$db->query($query);
$query_user="select * from user where user_name='$user'";
$sel_user=$db->query($query_user);
// echo mysqli_num_rows($select12);
//echo mysqli_num_rows($sel_user);
if(mysqli_num_rows($sel_user)>0)
{
//echo mysqli_num_rows($sel_user);
//echo $email;
//echo mysqli_num_rows($select12);
echo "This user name already exits";
}
else{
if(mysqli_num_rows($select12)>0)
{
echo "This email address already exists";
}
elseif(!preg_match($mob, $phone)){
echo "Please enter a valid mobile number";
}else{
$q="INSERT INTO user(user_name,email,password,join_date,status,name,gender,address,mobile) VALUES('$user','$email','$pass','".date('Y-m-d')."','0','$name','$gender','$address','$phone')";
$insert=$db->query($q);
//echo "your data successfully inserted";
//$_SESSION['user']=$user;
//sleep(2);
echo "Registered Successfully. Please Log-in";
//echo "<script>window.location='user/index.php'</script>";
}
}
}
mysqli_close($db);
?>
当我提交表单时出现此错误: 注意:未定义的索引:第24行的D:\ wamp \ www \ my_library_management_system \ msg_ajax.php中的图片
请帮我解决这个问题。我不明白它说$ pic变量是未定义的。如何通过ajax和jquery传递文件?