Javascript 重新加载页面时,我的表将被更新为空行

Javascript 重新加载页面时,我的表将被更新为空行,javascript,php,mysql,forms,validation,Javascript,Php,Mysql,Forms,Validation,我用一个表单和一些PHP/JavaScript代码制作了一个基本示例。我正在使用JavaScript验证表单,并使用PHP简单地更新MySQL表 function checkForm(){ var x = document.forms['form1']['first'].value; if(x=='' || x==null){ alert('please finish all required fields'); return false;

我用一个表单和一些PHP/JavaScript代码制作了一个基本示例。我正在使用JavaScript验证表单,并使用PHP简单地更新MySQL表

function checkForm(){
    var x = document.forms['form1']['first'].value;
    if(x=='' || x==null){
        alert('please finish all required fields');
        return false;
    }
    var y = document.forms['form1']['last'].value;
    if(y=='' || y==null){
        alert('please finish all required fields');
        return false;
    }
    var z = document.forms['form1']['email'].value;
    if(z=='' || z==null){
        alert('please finish all required fields');
        return false;
    }   
    var a = document.forms['form1']['phone'].value;
    if(a=='' || a==null){
        alert('please finish all required fields');
        return false;
    }   
}

</script>
</head>
<body>
<?php

$connect = mysqli_connect('localhost','colin','-koolio-','knoxprograms');
if(mysqli_connect_errno()){
    echo "Error " . mysqli_connect_error();
}


$first = mysqli_real_escape_string($connect, $_POST['first']);
$last = mysqli_real_escape_string($connect, $_POST['last']);
$email = mysqli_real_escape_string($connect, $_POST['email']);
$phone = mysqli_real_escape_string($connect, $_POST['phone']);

$sql = "insert into users(firstName, lastName, email, phone) VALUES('$first','$last','$email','$phone');";

mysqli_multi_query($connect, $sql);
?>

<form name="form1" method="post" action="fuckwithpage.php" onsubmit="return checkForm()">
First name: <input type="text" name="first"><br>
Last Name: <input type="text" name="last"><br>
email: <input type="text" name="email"><br>
phone: <input type="text" name="phone"><br>
<input type="submit" value="send">
</form>
函数检查表(){
var x=document.forms['form1']['first'].value;
如果(x=''| | x==null){
警报(“请填写所有必填字段”);
返回false;
}
var y=document.forms['form1']['last'].value;
如果(y=''| | y==null){
警报(“请填写所有必填字段”);
返回false;
}
var z=document.forms['form1']['email'].value;
如果(z=''| | z==null){
警报(“请填写所有必填字段”);
返回false;
}   
var a=document.forms['form1']['phone'].value;
如果(a=''| | a==null){
警报(“请填写所有必填字段”);
返回false;
}   
}
从以下内容开始您的php:

if ($_POST) {  //[...your code, here...]  }
否则,每次加载页面时,都会触发代码块-因为没有任何信息告诉它“嘿,我们只是加载页面,还没有提交任何内容,所以不要做任何事情-”-这就是上面的条件语句将填充的角色

    if (isset($_POST)){    
$first = mysqli_real_escape_string($connect, $_POST['first']);
$last = mysqli_real_escape_string($connect, $_POST['last']);
$email = mysqli_real_escape_string($connect, $_POST['email']);
$phone = mysqli_real_escape_string($connect, $_POST['phone']);

$sql = "insert into users(firstName, lastName, email, phone) VALUES('$first','$last','$email','$phone');";

mysqli_multi_query($connect, $sql);
}
试试那个CMIIW:))