2017-06-10 13 views
1

私はPHPのページでフォームを送信しようとしていますが、ページをリフレッシュしたくないので、多くのチュートリアルを実行します。私のコードを修正しなければならない人を見つけてください。ページリフレッシュを避けるためにajaxとphpでフォームを送信する方法

のindex.php

<script src="profile.js"><script> 
    <div class="sta"> 
    <form action="test.php" method="POST" id="sta"> 
     <input type="text" name = "sta" id="sta" placeholder="Status"> 
     <input id="submit" onclick="status()" type="button" value="save"> 
    </form> 
    </div> 
</script> 

profile.php

<?php 
    session_start(); 
    include 'db.php'; 

    if(isset($_SESSION['email'])){ 
    $eml = $_SESSION['email']; 

    $sql = $con->prepare("update alert_users_account SET statu=? where email_phone=?"); 
    $sql->bind_param('ss',$_POST['sta'],$eml); 
    $sql->execute(); 
    $sql->close(); 
    } 
?> 

profile.js

function status() { 
    var sta = document.getElementById("sta").value; 

    var dataString = 'sta1=' + sta; 
    if (sta == '') { 
    alert("Please Fill All Fields"); 
    } else { 
    // AJAX code to submit form. 
    $.ajax({ 
     type: "POST", 
     url: "test.php", 
     data: dataString, 
     cache: false, 
     success: function(html) { 
     alert(html); 
     } 
    }); 
    } 
    return false; 
} 
+3

にしてみては? - あなたの開発者のコ​​ンソールを見て、PHPのエラー報告を使用して、もしあればクエリ上のエラーをチェックしてください。 –

+0

submitイベントのevent.preventDefault()onclickを使用 –

答えて

0

onclick="return status()"

<input id="submit" onclick="return status()" type="button" value="save"> 
でリターンを追加します。

またはform.submitあなたは `sta1`を使用している

<form action="test.php" method="POST" onsubmit="return status()" id="sta"> 
    <input type="text" name="sta" id="sta" placeholder="Status"> 
    <input id="submit" type="button" value="save"> 
</form>