2011-03-25 42 views
1
<?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"; 

此代码来自互联网(用户登录代码)。但我不知道这部分意味着什么。为什么它宣布三个用户?为什么最后两个是相同的?php的登录码

+0

似乎是错误的:-) – 2011-03-25 08:14:40

+0

http://www.bensky.co.uk/blog/code-tutorials/simple-php-login-script-tutorial /代码是表单url – enjoylife 2011-03-25 08:17:05

+0

可能是复制粘贴错误,应该是'username3'等。 – 2011-03-25 08:18:45

回答

2

该代码提供了一个用户的合并列表,作为“样本”数据源。

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

1

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

username2,password2的重复可能是一个错字。我会假设它的意思是用户名3和密码3。

1

也许是两个错别字?只要将最后一行改为array("username3","password3"),一切都合情合理! ;)

+0

对我来说太快了...... – Thorben 2011-03-25 08:19:30

2

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

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

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

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

如上所述,重复最有可能是错字。

1

它不是教育的好教程。至少$users阵列可以声明为

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

,并随后将isset()array_key_exists()检查登录/密码:

$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; 
}