1
データベースに格納するためにAJAXを使用してフォームからデータを送信しようとしていますが、この問題があります。私はPHPファイルにデータを送ることができません。私はそれAjaxがPHPファイルにデータを送信しない
this is php
<?php
$servername = "localhost";
$username = "root";
$password = "";
$db_name="menoon";
// Create connection
$conn = new mysqli($servername, $username, $password,$db_name);
// Check connection
if ($conn->connect_error)
{
die("Connection failed: " . $conn->connect_error);
}
\t $UserName=$_POST['username'];
\t $Email=$_POST['inputEmail3'];
\t $Password=md5($_POST['inputPassword3']);
\t $Address=$_POST['add'];
\t $fname=$_POST['name'];
\t $membership=$_POST['memberhhiip'];
\t
if (filesize($_FILES['pic']['tmp_name']))
{
// cover_image is empty (and not an error)
\t $File=file_get_contents($_FILES['pic']['tmp_name']); //$_POST['file'];
\t
\t
\t $vaildMail="SELECT EMAIL From user_emails WHERE EMAIL='$Email'";
\t
\t $r =mysqli_query($conn ,$vaildMail);
\t if(mysqli_num_rows($r)==0) //to check if there is an exist email
\t {
// echo "ID".$ID." ".$UserName." ".$Password."<br>"; \t
\t $sql="INSERT INTO user (FULLNAME,HOMEADDRESS,UserName,PASSWORD,MEMBERSHIPTYPE,PROFILEPHOTO) values('$fname','$Address','$UserName','$Password','$membership',?)";
\t
\t
\t if($stmt = $conn->prepare($sql))
\t { $stmt->bind_param("b",$_null);
\t \t \t \t $stmt->send_long_data(0,$File);
\t \t \t \t $stmt->execute();
\t \t \t \t $sql="SELECT ID FROM user WHERE UserName='$UserName'";
\t \t \t $s =mysqli_query($conn ,$sql);
\t \t \t $row = mysqli_fetch_row($s);
\t \t \t $sql=" INSERT INTO user_emails (USER_ID,EMAIL) values('$row[0]','$Email')";
\t \t \t $sr =mysqli_query($conn ,$sql);
\t \t \t
\t \t \t
\t \t \t \t {
\t \t \t \t \t
\t \t \t \t \t \t ob_start();
\t \t \t header('Location:../index.php');
\t \t \t ob_end_flush();
\t \t \t die();
\t \t \t \t \t
\t \t \t \t \t
\t \t \t \t }
}
else {
\t echo "user name alredy exists";
\t \t }
\t
\t }
\t else {echo "Email alredy exists";
\t \t \t \t \t } \t
}
else {$vaildMail="SELECT EMAIL From user_emails WHERE EMAIL='$Email'";
\t $r =mysqli_query($conn ,$vaildMail);
\t if(mysqli_num_rows($r)==0) //to check if there is an exist email
\t {
// echo "ID".$ID." ".$UserName." ".$Password."<br>"; \t
\t $sql=" INSERT INTO user (FULLNAME,HOMEADDRESS,UserName,PASSWORD,MEMBERSHIPTYPE) values('$fname','$Address','$UserName','$Password','$membership')";
\t
\t
\t if ($s =mysqli_query($conn ,$sql))
\t
{ $sql="SELECT ID FROM user WHERE UserName='$UserName'";
$s =mysqli_query($conn ,$sql);
$row = mysqli_fetch_row($s);
$sql=" INSERT INTO user_emails (USER_ID,EMAIL) values('$row[0]','$Email')";
$sr =mysqli_query($conn ,$sql);
\t {
\t \t
\t \t \t
\t \t \t ob_start();
header('Location:../index.php');
ob_end_flush();
die();
\t \t
\t \t
\t }
\t }
\t
else
\t { echo "user name alredy exists";
\t }
\t
\t }
\t else {echo "Email alredy exists";}
\t \t }
?>
this is the html file including script
<div id="signup" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title"SIGN UP</h4>
</div>
<div class="modal-body">
<form class="form-horizontal" role="form" id="#my_form" enctype="multipart/form-data">
<div class="form-group">
<div class="col-sm-10">
<input type="email" class="form-control"
name="inputEmail3" id="inputEmail3" placeholder="Email" required/>
</div>
</div>
<div class="form-group">
<div class="col-sm-10">
<input type="password" class="form-control"
name="inputPassword3" id="inputPassword3" placeholder="Password" required/>
</div>
</div>
<div class="form-group">
<div class="col-sm-10">
<input type="file" name="pic" class="" data-multiple-caption="{count} files selected" multiple />
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<div class="checkbox">
<label>
<input type="checkbox"/> Remember me
</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary " onclick="sendForm()">Sign Up</button>
</div>
</div>
</form>
</div>
<div class="modal-footer">
</div>
</div>
</div>
</div>
<script >
function sendForm(){
$.ajax({
method: "POST",
url: "signcontroller.php",
data: jQuery("#my_form").serialize(),
cache: false,
success: function(data){
alert(data);
}
});
}
</script>
'データ:代わりにこのような何か試してみてください。jQueryの( 'フォーム[ID = "#1 my_formを"]')(シリアライズ) 、 ' –
あなたはajaxのアップロード方法をお読みになることをお勧めします。あなたは 'serialize()'でそれを行うことはできません。 – charlietfl
開発モードでは常にブラウザでコンソールを使用してください。この場合、あなたの#my_form –