Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何验证PHP表单输入和数据库提交_Php_Mysql_Forms_Validation - Fatal编程技术网

如何验证PHP表单输入和数据库提交

如何验证PHP表单输入和数据库提交,php,mysql,forms,validation,Php,Mysql,Forms,Validation,我正在学习php,我需要一些帮助。我正在使用服务器端验证处理注册表,然后在验证之后,表单输入应提交到数据库。我输入了数据,点击提交按钮,但数据没有提交到数据库。没有错误消息。我希望你能帮我指出哪里出了错,并给我一个可能的解决方案。谢谢 Index.php PHP 项目1 我已经解决了问题,问题也解决了。 第一个问题是Mysql数据库。自动增量列未精确设置为自动增量。因此,我打开PhpMyadmin来更改并将Id colunm设置为AutoIncrement 第二个问题是这里的条件语句:

我正在学习php,我需要一些帮助。我正在使用服务器端验证处理注册表,然后在验证之后,表单输入应提交到数据库。我输入了数据,点击提交按钮,但数据没有提交到数据库。没有错误消息。我希望你能帮我指出哪里出了错,并给我一个可能的解决方案。谢谢

Index.php


PHP

项目1


我已经解决了问题,问题也解决了。 第一个问题是Mysql数据库。自动增量列未精确设置为自动增量。因此,我打开PhpMyadmin来更改并将Id colunm设置为AutoIncrement

第二个问题是这里的条件语句:

随后正常工作的正确代码行是:

if(empty($fullnameErr) && empty($emailErr) && empty($passwordErr) && empty($conpasswordErr) && empty($genderErr) && empty($dobErr) && empty($mobErr) && empty($yobErr))


对于那些在验证数据输入后感到困惑,但不知道如何将数据保存到数据库表中的人来说,这是一个重要信息。

在insert查询语句之前放置一条echo语句,告诉我是否看到任何输出或数据not@zenwraight是的,我现在已经这样做了,它会回显输入的数据。但是我也注意到,自从我添加了查询之后,它就不再进行验证了。谢谢你准备上网吗?而且
mysql\u error()
不会与
mysqli\u一起工作。顺便说一句,在查询中使用php的错误报告和
mysqli\u error($conn)
。@Fred ii-我不会在线使用它,这只是一个实践解决方案。我用mysqli_错误更新了数据库连接文件。@Zenwright我已检测到问题并解决了它。自动递增和条件语句。我感谢你的努力。
<?php
include ('project1db.php');
//Define variables
$fullnameErr="";
$emailErr="";
$passwordErr="";
$conpasswordErr="";
$genderErr="";
$dobErr="";
$mobErr="";
$yobErr="";
$FullName="";
$Email="";
$Password="";
$ConfirmPassword="";
$Gender="";
$DayOfBirth="";
$MonthOfBirth="";
$YearOfBirth="";

if($_SERVER["REQUEST_METHOD"] == "POST"){

if(empty($_POST["FullName"])){
$fullnameErr = "Name is required";
}
else{
$FullName = test_input($_POST["FullName"]);
//Check if name only contains letters and whitespace
if(!preg_match("/^[a-zA-Z]*$/",$FullName)){
$fullnameErr = "Enter Valid name please!";
}
}

if(empty($_POST["Email"])){
$emailErr = "Email is required";
}else{
$EMail = test_input($_POST["Email"]);
//Check if e-mail address is correct
if(!filter_var($EMail, FILTER_VALIDATE_EMAIL)){
$emailErr = "Invalid email address";
}
}

if(empty($_POST["Password"])){
$passwordErr = "Password is required";
}else{
$Password = test_input($_POST["Password"]);
//Check password
if(!preg_match("/^[a-z0-9]{6,}$/",$Password)){
$passwordErr = "Password should contain 6+ characters, lowercase and numbers!";
}
}

if(empty($_POST["ConfirmPassword"])){
$conpasswordErr = "Confirm your Password!";
}
else{
$ConfirmPassword = test_input($_POST["ConfirmPassword"]);
//Confirm if password match
if($ConfirmPassword != $Password){
$conpasswordErr = "Password not match!";
}
}

if(empty($_POST["Gender"])){
$genderErr = "Select your Gender!";
}else{
$Gender = test_input($_POST["Gender"]);
}

if(empty($_POST["DayOfBirth"])){
$dobErr = "Select your Day Of Birth";
}else{
$DayOfBirth = test_input($_POST["DayOfBirth"]);
}
if(empty($_POST["MonthOfBirth"])){
$mobErr = "Select your Month Of Birth";
}else{
$MonthOfBirth = test_input($_POST["MonthOfBirth"]);
}

if(empty($_POST["YearOfBirth"])){
$yobErr = "Select your Year Of Birth";
}else{
$YearOfBirth = test_input($_POST["YearOfBirth"]);
}
}

function test_input($data){
    $data = trim($data);
    $data = stripslashes($data);
    $data = htmlspecialchars($data);
    return $data;
}
if($fullnameErr = $emailErr = $passwordErr = $conpasswordErr = $genderErr = $dobErr = $mobErr = $yobErr = ""){

    $sql = "INSERT into usersignup (FullName, Email, Password, Gender, DayOfBirth, MonthOfBirth, YearOfBirth) VALUES(?,?,?,?,?,?,?)";


if($stmt = $conn->prepare($sql)){

    // Bind variables to the prepared statement as parameters

    $stmt->bind_param("ssssisi", $FullName, $Email, $Password, $Gender, $DayOfBirth, $MonthOfBirth, $YearOfBirth);



    /* Set the parameters values and execute

    the statement again to insert another row */

    $FullName = $_REQUEST['FullName'];
    $Email = $_REQUEST['Email'];
    $Password = $_REQUEST['Password'];
    $Gender = $_REQUEST['Gender'];
    $DayOfBirth = $_REQUEST['DayOfBirth'];
    $MonthOfBirth = $_REQUEST['MonthOfBirth'];
    $YearOfBirth = $_REQUEST['YearOfBirth'];

    $stmt->execute();

    echo "Records inserted successfully.";

} else{

    echo "ERROR: Could not prepare query: $sql. " . $conn->error;

}



// Close statement

$stmt->close();



// Close connection

$conn->close();
        }
        else{

        }


?>
<?php
$dbhost = 'localhost:3308';
$dbuser = 'root';
$dbpass = '';
$dbname = 'phpproject';
$conn = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
if(!$conn )
{
die('Could not connect: '.mysqli_error());
}
echo 'Connected successfully';
if($fullnameErr = $emailErr = $passwordErr = $conpasswordErr = $genderErr = $dobErr = $mobErr = $yobErr = "")
if(empty($fullnameErr) && empty($emailErr) && empty($passwordErr) && empty($conpasswordErr) && empty($genderErr) && empty($dobErr) && empty($mobErr) && empty($yobErr))