2015-04-27 3 views
0

Im довольно новый для PHP, поэтому, пожалуйста, простите, если мне не хватает некоторых основ.PHP Вход с и многомерный массив

То, что я пытаюсь достичь здесь, регистрируется путем сравнения идентификатора области ввода HTML в скрипте PHP.

HTML FORM:

<form action="PHP/Processes/LoginPage.php" method="POST"> 
    <input placeholder="User Name" type="text" id="Username" name="Username"/> 
    <input placeholder="E-mail" type="text" id="Email" name="Email"/> 
    <input type="submit" value="submit"/> 
</form> 

Вот где я храню свои "пользователи":

<?php 

$users = [ 
'Calum' => [ 
    'Email' =>'[email protected]', 
    'userPassword'=>'PaswordCalum', 
    'userDOB'=> '15.10.1976', 
    'userFirstname'=> 'Calum', 
    'userName'=>'User101' 
], 

'Calvin' => [ 
    'Email' =>'[email protected]', 
    'userPassword'=>'PasswordCalvin', 
    'userDOB'=> '15.10.1976', 
    'userFirstname'=> 'Calvin', 
    'userName'=>'User202' 
], 

'Louise' => [ 
    'Email' =>'[email protected]', 
    'userPassword'=>'PasswordLouise', 
    'userDOB'=> '15.10.1976', 
    'userFirstname'=> 'Louise', 
    'userName'=>'User303' 
] 
]; 

Okays так вот мой PHP файл до сих пор:

<html> 
<body> 

<?php 

include '../LoginFiles/userCredentials.php'; 

if($_POST['Username'] === $users['userName']) 
{ 
echo "Logged in"; 
} 
else 
{ 
echo "Still not workingg"; 
var_dump($users); 
;} 

?> 

</body> 
</html> 

Вероятно, вы спрашиваете, почему я хотел бы сделать это таким образом и не использовать базу данных, ну, я сначала пытаюсь научиться этому, а затем переходить на базу данных, я действительно просто принимаю детские шаги, чтобы попробовать и изучить php в целом, поэтому любая помощь или указатели будут большой помощью, и я благодарю вас заранее!

+0

I заметила ошибку, два '; ', удалите последнее. Это правильно: var_dump ($ users); } – PHPMan

+0

Не запускайте непосредственно в массив, попробуйте систему единого входа пользователя. В котором присутствует только один пользователь. А затем перейдите в базу данных. В конце концов вам нужно перейти в базу данных. Сначала попробуйте изучить инструменты базы данных, а затем выполните ее. – Codelord

ответ

1

Вам необходимо проверить имя пользователя - это внутренний элемент многомерного массива.

Итак, вам нужно получить все имена пользователей в массиве и проверить вывешенное имя пользователя в нем.

$usernames = array(); 
foreach ($users as $user) { 
    $usernames[] = $user['userName']; 
} 

Теперь, проверьте имя пользователя - это новый массив.

if (in_array($_POST['Username'], $usernames) { 
    echo "Logged in"; 
} 
else { 
    echo "Still not workingg"; 
    var_dump($users); 
} 
1
$ username = $_GET ['Username'] $ user = $ users [$username] If ($ user == null){ 
// user not existent 
} else { 
// validate password 

} 

К сожалению, я сразу печатаю это от мобильного устройства

Смежные вопросы