我的本地主机或我的代码未插入数据库

时间:2018-10-01 14:02:24

标签: php mysql connect

我正在使用html和php创建一个注册表单,当我单击唱歌时出现错误:

http://localhost/quiz/SinginUp/singup.html?first=Calin&last=Onaca&email=onaca.calin%40gmail.com&age=20&uid=calinonaca1&pwd=qwerty1234&cpwd=qwerty1234&submit=

...&submit=之后的任何内容

我检查了我的代码,但我无法意识到我做错了什么。

<form action="includes/signup.php" method="POST">

这是我的行动电话

这是我的signup.php

<?php
  if(isset($_POST['submit']))
  {
      mysqli_connect('127.0.0.1', 'admin', 'admin', 'quiz');
      $conn=mysqli_connect('127.0.0.1', 'admin', 'admin', 'quiz');
      $first = mysqli_real_escape_string( $conn,$_POST['first']);
      $last = mysqli_real_escape_string( $conn ,$_POST['last']);
      $email = mysqli_real_escape_string( $conn,$_POST['email']);
      $age = mysqli_real_escape_string( $conn,$_POST['age']);
      $uid = mysqli_real_escape_string( $conn,$_POST['uid']);
      $pwd = mysqli_real_escape_string( $conn,$_POST['pwd']);



      if(empty($first)||empty($last)|| empty($email) ||empty($age)||empty($uid)||empty($pwd)||empty($cpwd))
      {
        header("Location: ../signup.html?signup=empty");
      exit();  
      }
      else {
           if(!preg_match("/^[a-ZA-Z]*$/", $first) || !preg_match("/^[a-ZA-Z]*$/", $last) ){
               header("Location: ../signup.html?singup=invalid");
      exit();
           }else
           {
               if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
                   header("Location: ../signup.html?singup=email");
      exit();

               }
               else  
               {
                   if(!preg_match("/^[0-9]*$/", $age)){
               header("Location: ../signup.html?singup=invalid");
      exit();
           }else{
                     $sql = "SELECT * FROM users WHERE user_uid='$uid'";
                       $result= mysqli_query($conn, $sql);
                       $resultCheck= mysqli_num_rows($result);
                       if($resultCheck > 0)
                       {
                           header("Location: ../signup.html?singup=userTaken");
      exit();
                       }

                           else
                           {
                               $hashedPwd = password_hash($pwd, PASSWORD_DEFAULT);
                               $sql="INSERT INTO users (user_first, user_last, user_email, user_age, user_uid, user_pwd) VALUES ('$first', '$last','$email','$age','$uid','$hashedPwd');";
                            mysqli_query($conn,$sql);
                               header("Location: ../index.html?singup=succes");
      exit();

                           }
                       }
                   }
               }
           }
      }

  } else
  {
      header("Location: ../signup.html?signup=failed");
      exit();
  }

?>

如果出现问题,我没有收到失败的消息,浏览器编译器说的一切都没问题。

1 个答案:

答案 0 :(得分:0)

您的脚本似乎只在寻找$ _POST数据,因此,如果您尝试使用URL中的变量链接到页面(如您的示例),那么脚本将找不到数据。

相反,脚本需要查看$ _GET(仅URL变量)或可以使用$ _REQUEST(包括GET,POST和COOKIE变量)。

还将在请求中没有数据时输出的else语句中添加一些调试代码,以便您可以验证它是否按预期解析了信息。希望有帮助。

相关问题