登录系统无法在PDO PHP中正常运行

时间:2018-11-16 07:34:58

标签: php database login backend registration

这是我的注册表格,它可以正常工作并将我毫无问题地发送到索引文件,但是当我将其与登录名结合使用时,会出现错误

<?php
session_start();

$username="";
$email="";
$password="";
$errors=array();
$success=array();
try{
    $host='localhost';
    $user='root';
    $password='';
    $dbname='login';

//Set dsn
$dsn='mysql:host='.$host.';dbname='.$dbname;

$pdo=new PDO($dsn,$user,$password);

$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_OBJ);


}catch(Exception $e){

echo "error".$e->getMessage();
}



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


  $email=trim($_POST['email']);
  $password=trim($_POST['password']);
  $password_2=trim($_POST['password_2']);

  if(empty($email)){
    array_push($errors,'Email SHOULd be filled ');
  }
  if(empty($password)){
    array_push($errors,'Password should be filled ');
  }
  if($password !=$password_2){
    array_push($errors,"Passwords do not match");

  }

  if(count($errors)==0){
  $password_hash=md5($password);
  $insert=$pdo->prepare("INSERT INTO users (email,password) VALUES (:email,:password)");
  $insert->bindParam(':email',$email);
  $insert->bindParam(':password',$password);
  $insert->execute();
  $_SESSION['email']=$email;
  $_SESSION['success']='You have registered ';
  header('Location:index.php');
  }


}

这是我的登录表单,不起作用,我的代码存在一些问题。

首先,我不知道我的登录页面的列名称是否应与注册列名称匹配

if(isset($_POST['login'])){
  $email=trim($_POST['email']);
  $password=trim($_POST['password']);

  if(empty($email)){
  array_push($errors,'Email should be filled ');
  }
  if(empty($password)){
    array_push($errors,'Password should be filled );
  }

  if(count($errors)==0){
      $select=$con->prepare("SELECT * FROM   users WHERE email='$email' and password='$password'");
      $select->execute();
      $count=$query->fetchColumn();
      echo '111';
    //  if($c11ount=="1"){
      //    header('Location:index.php');
    //  }


  }

}

这只是注销系统

if(isset($_GET['logout'])){
    session_destroy();
    header('location:login.php');
}

?>
  <link rel="stylesheet" href="inde.css">

    enter code here

1 个答案:

答案 0 :(得分:0)

我在您的脚本行中发现了一些错误

  • array_push($ errors,'密码应填写);

将$ conn用作数据库连接,并用以下内容替换登录代码:

/usr/local/opt