html 表单数据未使用 PHP 和 PDO 插入 MySQL 数据库

因为我是新来的,所以我试图具体说明我的问题。如果您需要更多信息,请告诉我。

每当我尝试提交表单时,它都不会显示有关代码的任何错误。它只显示 echo 语句“失败”

我正在使用此循环来查看值是否已提交。这工作正常。它表明所有值都已提交,但这些值并未插入到数据库中。

foreach ($_POST as $key => $value) {
    echo "($key) => ($value)<br/>";
}

我的 html 表单代码是:

        <div class="formstyle">
        <h2> Sign up </h2>
<center>
<form method = 'POST' name="form1" onSubmit="return validateForm()" action="">

   <table border='0'>
 <tr>
  <td><LABEL for="firstname">First Name:<sup style="color:#F00">*</sup> </LABEL></td>
         <td><INPUT type="text" name = "fname" id="fname" value="<?php echo $fname;?>"></td><td width="200px"><i style="color:red;" id="pointfn"></i></td>
 </tr>
 <tr>
  <td><LABEL for="lastname">Last Name:<sup style="color:#F00">*</sup> </LABEL></td>
  <td><INPUT type="text" name ="lname" id="lname" value="<?php echo $lname;?>"> </td><td width="200px"><i style="color:red;" id="pointln"></i></td>
 </tr>

 <tr>
   <td><LABEL for="gender">Gender:<sup style="color:#F00">*</sup> </LABEL></td> <td>
   <INPUT type="radio" name="gender" id="gender" <?php if (isset($gender) && $gender=="male") echo "checked";?> value="male"> Male
   <INPUT type="radio" name="gender" id="gender" <?php if (isset($gender) && $gender=="female") echo "checked";?> value="female"> Female</td><td width="200px"> <i style="color:red;" id="pointgendr"></i></td>
 </tr>

  <tr>
  <td><LABEL for="email">Email:<sup style="color:red;">*</sup> </LABEL></td>
  <td><INPUT type="text" name = "email" id="email" value="<?php echo $email;?>"></td><td width="200px"><i style="color:red;" id="pointemail"></i></td>
 </tr>

 <tr>
  <td><LABEL for="password">Password:<sup style="color:#F00">*</sup> </LABEL></td>
  <td><INPUT type="password" name ="password" id="password" value="<?php echo $password;?>"></td><td width="200px"><i style="color:red;" id="pointpassword"></i></td>
 </tr>

 <tr>
  <td></td><td><br/><INPUT type="submit" name = "register" value="Create Account">
  <INPUT type="reset" onClick="return confirmreset()"></td>
 </tr>

 <tr>
  <td></td><td style="font-size:12px;text-align:right;"><br/><i style="color:red;font-size:12px;align:right;" >* - Mandatory</i></td>
 </tr>
    </table>

     </form></center>  

这是将所有内容插入数据库的 php 代码

    require('connect.php');

$fname = $lname = $gender = $email = $password = "";

if(isset($_POST['register'])){

    $stmt = $pdo->prepare('INSERT INTO user(fname,lname,gender,email,password)
    VALUES (:fname, :lname, :gender, :email, :password)');
    $stmt->bindValue(':fname',$fname);
    $stmt->bindValue(':lname',$lname);
    $stmt->bindValue(':gender',$gender);
    $stmt->bindValue(':email',$email);
    $passwordHash = password_hash($password, PASSWORD_BCRYPT, array("cost" => 12));
    $stmt->bindValue(':password',$passwordHash);
    $stmt->execute();


    $email_stmt = $pdo->prepare("SELECT email FROM user WHERE email = :email");
    $email_stmt->bindParam(':email', $email);
    $email_stmt->execute();

    if ($email_stmt->rowCount()>0){
        echo 'Email Already Exists. Use Different Email OR Login ';
        } else {
        //Successful Registration 
        echo 'Registration Successful';
    } 
} else {
    echo 'FAILED';
}

?>

任何帮助,将不胜感激。干杯。

臭鼬

您正在检查使用插入后是否收到电子邮件

试试这个

 if(isset($_POST['register'])){

    $password = $_POST['password'];
    $fname = $_POST['fname'];
    $email = $_POST['email'];
    $lname = $_POST['lname'];
    $gender = $_POST['gender'];
    $passwordHash = password_hash($password, PASSWORD_BCRYPT, array("cost" => 12));

    //validate form here

    $email_stmt = $pdo->prepare("SELECT email FROM user WHERE email = :email");
    $email_stmt->bindParam(':email', $email);
    $email_stmt->execute();
    $result = $email_stmt->fetch(PDO::FETCH_ASSOC);

    if (empty($result)) {

        $stmt = $pdo->prepare('INSERT INTO user(fname,lname,gender,email,password)
        VALUES (:fname, :lname, :gender, :email, :password)');
        $stmt->bindValue(':fname',$fname);
        $stmt->bindValue(':lname',$lname);
        $stmt->bindValue(':gender',$gender);
        $stmt->bindValue(':email',$email);
        $stmt->bindValue(':password',$passwordHash);


        if ($stmt->execute()) {

            echo 'Registration Successful';
            }

            else {
                echo 'FAILED';
        } 
    }   


    else {
       echo 'Email Already Exists. Use Different Email OR Login ';

    } 
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

pdo,将php对象插入数据库

来自分类Dev

PHP,PDO,MySQLi函数不插入数据库

来自分类Dev

PHP MySQL插入数据库

来自分类Dev

PDO从动态html表插入数据库值

来自分类Dev

用php mysql插入和更新数据库

来自分类Dev

使用pdo将表单值插入mysql数据库

来自分类Dev

PDO代码未将数据从Form插入MySQL数据库

来自分类Dev

如何使用jQuery从HTML / PHP数据插入MySQL数据库

来自分类Dev

MySQL / PHP:将表单数组插入数据库吗?

来自分类Dev

通过PHP PDO将多个值插入MySQL数据库

来自分类Dev

尝试将pdo绑定参数插入mysql数据库

来自分类Dev

PHP的MySQL无法插入数据库和错误

来自分类Dev

数据未插入php的mysql数据库中

来自分类Dev

PDO插入数据库

来自分类Dev

将HTML表单中的数据插入MySQL数据库

来自分类Dev

HTML / PHP表单未将数据插入MySQL数据库

来自分类Dev

PHP MySQL插入数据库

来自分类Dev

使用pdo和php获取mysql数据库中表的名称

来自分类Dev

会话变量未以php和mysql形式插入数据库

来自分类Dev

在php和mysql中将数据插入数据库

来自分类Dev

使用Ajax和PHP插入数据库(mysql)

来自分类Dev

MYSQL数据库未显示从HTML表单插入的数据

来自分类Dev

如何使用Jquery ajax和php将数据插入mysql数据库?

来自分类Dev

将MYSQL PHP插入数据库

来自分类Dev

使用PDO将时间插入MySQL数据库

来自分类Dev

插入数据库的HTML表单和PHP脚本不起作用

来自分类Dev

在mySQL中使用PDO/PHP将数据插入到预设的数据库和表中的正确方法

来自分类Dev

数据未插入 mysql 数据库:android 和 php 问题

来自分类Dev

使用 PHP 将 HTML 表单数据插入 MySQL 数据库