簡體   English   中英

如何在同一頁面中顯示結果?

[英]how to display the result in same page?

這是我的代碼。 HTML

<html>
<head></head>
</body>
<form id="myform" action="formdata.php" method="post">
    username:<input type="text" name="username" id="name"><br>
    password:<input type="password" name="password" id="pass"><br>
    firstname:<input type="text" name="firstname" id="fname"><br>
    lastname:<input type="text" name="lastname" id="lname"><br>
    <input type="submit" id="submit" value="register">
</form>
<div id="status_text"></div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
$("#submit").click(function(){
    var username = $('#name').val();
    var password = $('#pass').val();
    var firstname = $('#fname').val();
    var lastnamee = $('#lname').val();
    var postData = '&username='+username+'&password='+password+'&firstname='+firstname+'&lastname='+lastname;
    var status_text = $('#status_text');
    //alert(postData);
    //var mydata = {'username':name,'password':pass,'firstname':fname,'lastname':lname};
/*$.post($('#myform').attr('action'),
    $('#myform:input').serializeArray(),
    function(info){
        $('status_text').html(info)
    });*/
$.ajax({
    url:"action",
    type:"post",
    success:function(info)
    {
        status_text.html(info);
    }
});
});
</script>
</body>
</html>

這是我的數據庫PHP代碼

<?php
$servername = 'localhost';
$username = 'root';
$password = '';
$conn = new mysqli($servername, $username, $password);
$name = $_POST['username'];
$password = $_POST['password'];
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$sql = "INSERT INTO karthik.person(name,password,firstname,lastname)VALUES('$name','$password','$firstname','$lastname')";
if($conn->query($sql) === TRUE){
    echo("record added success");
}else{
    echo("failed".$conn->error);
}
$conn->close();
?>

每當我運行此代碼時,它會轉到下一頁並顯示“成功添加記錄”之類的結果,而不是我希望代碼在同一頁中顯示結果。 我幾乎嘗試了所有方法,但無法獲得預期的結果。

您需要告訴瀏覽器不要提交表單:

$("#submit").click(function(e) {
    e.preventDefault(); // Prevents the default behaviour for the submit-action
    //... the rest of your code

完成這項工作后,您應該開始修復@jeroen列表中的內容

您在這里遇到一些問題:

  • 您不會阻止默認的Submit事件,這也會導致表單也“正常”提交。
  • 您沒有通過ajax請求發送任何數據,因此服務器端永遠不會有任何$_POST變量。
  • 您有一個SQL注入問題。 您應該使用准備好的語句並綁定值。
  • 您沒有將ajax請求發送到正確的URL。
  • 您正在使用純文本密碼。 您應該始終對密碼加鹽和哈希。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM