PHP MySQLi插入数据验证

时间:2018-07-03 08:07:12

标签: javascript php mysqli

我正在研究一个简单的PHP代码以将数据插入数据库,并且我想显示一个弹出消息,提示输入为空,我尝试使用Java脚本函数,如下所示,但是当我无法使用时单击插入,它仅显示此错误:未定义的索引:fname, 并在数据库中插入空值。

<script>
function validateForm() {
var x = document.forms["myForm"]["fname"].value;
if (x == "")
{
    alert("Name must be filled out");
    return false;
}}
</script>

<form name="myForm" action="test.php" method ="post"  autocomplete="off">
<div align='center'>
<div id="main">
<br>
<b>ادخل اسمك:</b> <input type="text" name="fname" value=""><br>
</html>
<?php
if(isset($_POST['submit'])  && !empty($_POST))
{
$Name = $_POST['fname'];
$SQL = "INSERT INTO userTable (user_name) VALUES ('$Name')";

if ($conn->query($SQL) === TRUE) {

header("Location: test2.php"); /* Redirect browser */
exit();
} else {

echo '<script type="text/javascript">',
 'validateForm();',
 '</script>';
} 
$conn->close();
}
?> 

1 个答案:

答案 0 :(得分:0)

您在哪里使用validateForm()函数?我想您可以通过onclick方法或类似方法在提交按钮中使用它。但是您的return false无法正常工作,因为表单仍会发送所有数据。您应该在这样的方法中添加返回

<form name="myForm" onsubmit="return validateForm()" action="test.php" method ="post"  autocomplete="off">

因此您的表单将从validateForm函数获取return false并停止发送表单。