Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.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
如何使用sql数据库在php中进行特定于用户的登录?_Php_Authentication - Fatal编程技术网

如何使用sql数据库在php中进行特定于用户的登录?

如何使用sql数据库在php中进行特定于用户的登录?,php,authentication,Php,Authentication,我编码来检查名称框中键入的前4个字符,并将其与字符串匹配。如果返回true,则检查密码并将我重定向到特定网页,如管理仪表板或主管仪表板。 当我尝试给出“adm_uu”前缀时,我正在使用的代码只会将我重定向到admin dashboard,但当我尝试给出诸如test1或前缀“sup_u”之类的用户名时,它会显示一个空白页面,路径是login.php(我有以下代码的php文件) 我有什么遗漏吗 <?php define('DIR','../'); require_once DIR .'c

我编码来检查名称框中键入的前4个字符,并将其与字符串匹配。如果返回true,则检查密码并将我重定向到特定网页,如管理仪表板或主管仪表板。 当我尝试给出“adm_uu”前缀时,我正在使用的代码只会将我重定向到admin dashboard,但当我尝试给出诸如test1或前缀“sup_u”之类的用户名时,它会显示一个空白页面,路径是login.php(我有以下代码的php文件) 我有什么遗漏吗

   <?php
define('DIR','../');
require_once DIR .'config.php';
$contol = new Controller();

$admin = new Admin();

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


  $name = $_POST['name'];  
  $password = $_POST['password']; 
  //string admin1=adm@;
  //string sup1=sup@;
  //if($name(0,3)=="adm@")
    if(preg_match_all('/^adm_/', $name, $matches))
  {
    $stmt=$admin->ret("SELECT name, password FROM `admine`where name='$name'and password='$password'");
  $row=$stmt->fetch(PDO::FETCH_ASSOC);  
  $num=$stmt->rowCount();
  if($num>0){

   $_SESSION['name']=$name;
    $admin->redirect('../admintemp/index');

  }
  //if($name(0,3)=="sup@")
  else if(preg_match_all('/^sup_/', $name, $matches))
  {
    $stmt=$super->ret("SELECT name, password FROM `addsuper`where name='$name'and password='$password'");
    $row=$stmt->fetch(PDO::FETCH_ASSOC);  
    $num=$stmt->rowCount();
    if($num>0){
              $_SESSION['name']=$name;

              $admin->redirect('../bs-siminta-SUPER/index');
              echo "code works";
            }
  }
  else if($name[0]=="[a-z]" || $name[0]=="[A-Z]")
  {
    $name = $_POST['name'];  
    $password = $_POST['pass']; 


    $stmt=$admin->ret("SELECT * FROM `publicreg` where name='$name'and password='$password'");
    $row=$stmt->fetch(PDO::FETCH_ASSOC);  

    $num=$stmt->rowCount();
    if($num>0){


    $admin->redirect('../Maxim/user');

  }
  else
  {
    echo "please check your username and password";
  }
}
}
}

?>


您发布的代码有什么问题?说。即使是这样也不安全!永远不要存储纯文本密码!请使用PHP来处理密码安全性。如果您使用的PHP版本低于5.5,则可以使用
密码\u hash()
。在散列之前,不需要对它们执行任何操作或使用任何其他清理机制。这样做会更改密码并导致不必要的额外编码。@Oliver.R该代码会将我重定向到一个新页面。。相反,它会显示一个空白页面。–Jay Blanchard我稍后将对其进行哈希运算。非常感谢你!谢谢你提到这一点。你发布的代码有什么问题?说。即使是这样也不安全!永远不要存储纯文本密码!请使用PHP来处理密码安全性。如果您使用的PHP版本低于5.5,则可以使用
密码\u hash()
。在散列之前,不需要对它们执行任何操作或使用任何其他清理机制。这样做会更改密码并导致不必要的额外编码。@Oliver.R该代码会将我重定向到一个新页面。。相反,它会显示一个空白页面。–Jay Blanchard我稍后将对其进行哈希运算。非常感谢你!谢谢你提到这件事。