javascript - 我的表在页面重新加载时更新为空行

标签 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;
    }
    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>

如果表单的验证函数返回 false,则提交表单(单击提交按钮)时发生的 JavaScript 验证会阻止更新我的表。但是,如果重新加载页面或加载页面时,则会将一个空行添加到我的表中。 谁能帮我解决这个问题。

最佳答案

开始你的PHP:

if ($_POST) {  //[...your code, here...]  }

否则,每次加载页面时,该代码块都会触发 - 因为没有任何东西告诉它“嘿,我们只是加载页面,尚未提交任何内容,所以不要执行任何操作 - ” -这就是上面的条件语句将扮演的 Angular 色。

关于javascript - 我的表在页面重新加载时更新为空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24829266/

相关文章:

javascript - 使用 javascript 返回新形式的对象数组

javascript - 单击按钮时选择框出现/消失

php - "Real"使用 Doctrine/MySQL 删除孤儿

PHP动态用户配置文件url

php - 如果我只想要一个计数,我应该选择哪些列

javascript - 将正则表达式从 php 转换为 javascript(回溯断言)

javascript - CRM 2015 中自定义实体表单上的 OnSave 事件进入递归触发器

php - PayPal API 上下文结帐错误

php - 分页工作正常但出现错误

mysql - 解释说明查询很糟糕(它不使用单个键)但我使用的是 LIMIT 1。这是个问题吗?