繁体   English   中英

php的登录代码

[英]the login code of php

<?php
 //Start session
 session_start();

 //Define the users and passwords.
 $users = array(
   array("username1","password1"),
   array("username2","password2"),
   array("username2","password2") 
 );

 //Define the log in page if login failed.
 $exitpage = "login.htm";

该代码来自互联网(用户登录代码)。 但是我不知道这部分的意思。 为什么要声明三个用户? 为什么最后两个相同?

这段代码提供了一个经过编码的用户列表,作为“样本”数据源。

用户名两次出现是错误的。

为了澄清起见,代码的含义是一个包含数组项的数组,每个数组项包含两个项(用户名和密码)。 含义:

array (
 [0] => Array
     (
         [0] => username1
         [1] => password1
     )

 [1] => Array
     (
         [0] => username2
         [1] => password2
     )

 [2] => Array
     (
         [0] => username2
         [1] => password2
     )
 )

如前所述,副本很可能是错字。

那似乎是一个写得不好的例子。

用户名2和密码2的重复可能是一个错字。 我认为这是用户名3和密码3。

也许有两个错别字? 只需将最后一行更改为array("username3","password3") ,一切都变得合理了! ;)

它不是很好的教育教程。 至少可以将$users数组声明为

$users = array(
   // define known login => password pairs
   array("username1" => "password1"),
   array("username2" => "password2"),
   array("username3" => "password3") 
);

然后使用isset()array_key_exists()来检查Login / Pass:

$user = $_POST['user'];
$pass = $_POST['pass'];
if (isset($users[$user]) AND $users[$user] == $pass)
{
   // successfull login
   // store username instead of boolean flag
   $_SESSION['logged_in'] = $user;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM