2011-03-25 5 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"; 

이 코드는 인터넷 (사용자 로그인 코드)입니다. 그러나 나는이 부분의 수단을 모른다. 3 명의 사용자를 선임 한 이유는 무엇입니까? 왜 마지막 두 사람이 같은가?PHP의 로그인 코드

+0

잘못 :-) –

+0

http://www.bensky.co.uk 보인다/blog/code-tutorials/simple-php-login-script-tutorial/코드는 url 형식입니다 – enjoylife

+0

복사하여 붙여 넣기 오류 일 수 있으며'username3' 등이어야합니다. –

답변

2

이 코드는 harcoded 사용자 목록을 "샘플"데이터 소스로 제공합니다.

사용자 이름은 두 번 실수입니다.

1

이것은 잘못 작성된 것 같습니다.

username2, password2의 반복은 아마도 오타입니다. 나는 그것이 username3과 password3이 될 것이라고 생각했다.

1

2 개의 오타가있을 수 있습니까? 마지막 줄을 array("username3","password3")으로 바꾸면 모든 것이 의미가 있습니다! ;)

+0

나를 위해 너무 빠릅니다 ... – Thorben

2

설명의 편의를 위해 코드의 의미는 배열 항목이 포함 된 배열이며 각 항목에는 사용자 이름과 암호라는 두 항목이 포함됩니다. 의미 :

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

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

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

중복은 이미 언급 한 것처럼 오타 일 가능성이 큽니다.

1

교육용으로 적합하지 않은 튜토리얼입니다. 적어도 $users 배열 isset() 또는 array_key_exists() 로그인/패스를 확인하는 데 사용 후

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

그리고로 선언 할 수 있습니다

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