电话号码未插入数据库

时间:2014-06-06 11:44:24

标签: javascript php html ajax

我正在创建一个简单的表单,它将几个字段作为输入,运行一些AJAX检查并通过PHP提交到SQL数据库。除电话号码外,我能够插入所有其他字段。这是代码的片段:

HTML ---

<form name="signupform" id="signupform" onSubmit="return false;">
<div>Phone Number: </div>
    <input id="phon" type="text" maxlength="20">
<button id="signupbtn" onClick="signup()">Create Account</button>
    <span id="status" style="color: red"></span>
</form>

JS ---

function signup() {
var status = document.getElementById("status");
var phone = document.getElementById("phon").value;
status.innerHTML = phone; //testing, doesn't display anything
        var ajax = ajaxObj("POST", "index.php"); // accepted
        ajax.onreadystatechange = function() {
            if(ajaxReturn(ajax) == true) {
                if(ajax.responseText != "Succesfully signed-up!"){ ///returned from php file
                    status.innerHTML = ajax.responseText;

                }

            }
        }
        ajax.send("phone="+phone); //shoots variable to php 
}

PHP ---

if(isset($_POST["phone"])) { 
                       $phone = $_POST['phone'];
               echo $phone; //was testing, again, nothing shows 
            $sql = "INSERT INTO users(phone) VALUES('$phone')";
        }
$query2 = mysqli_query($con, $sql); 
echo 'successfully_updated';

注意:我试图检查JS和PHP是否正在接收电话号码,但它没有显示任何内容(显示其他表单元素,如名称和电子邮件,但已经过测试)。但是后来,在PHP代码中,当检查&#34; if(isset($ _ POST [&#34; phone&#34;]))时,它没有显示任何错误,它会插入其他元素没有麻烦的形式。不知道为什么会这样,有什么想法吗?我的猜测是因为JS并没有反映出价值,而错误就在于此。

几个小时以来一直在寻找和尝试徒劳!任何帮助都会很棒,谢谢!

4 个答案:

答案 0 :(得分:1)

status.innerHTML = phone; //testing, doesn't display anything

必须是

document.getElementById("status").innerHTML = phone; 

答案 1 :(得分:1)

使用jQuery:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        phoneNum = $("#phon").val();
        $("#signupbtn").click(function(){
            $.ajax({url:"./index.php",data:{phone:phoneNum},success:function(result){
                alert(result);
            }});
        });
    });
</script>

答案 2 :(得分:0)

为什么不写$ query2 = mysqli_query($ con,$ sql)或者死(mysqli_error()); 这样,您就可以看到错误发生了什么

答案 3 :(得分:0)

请试试这个

 $sql = "INSERT INTO users(phone) VALUES('".$phone."')";