Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: простой array()
Форумы портала PHP.SU » » Вопросы новичков » простой array()

Страниц (1): [1]
 

1. makar3000 - 11 Сентября, 2011 - 20:07:59 - перейти к сообщению
Удалено
2. demot - 11 Сентября, 2011 - 20:48:20 - перейти к сообщению
Давайте предположу:

$name = 'admin';
$pass = 'svoy_parol';

Хм
3. makar3000 - 11 Сентября, 2011 - 21:31:15 - перейти к сообщению
Удалено
4. DeepVarvar - 11 Сентября, 2011 - 22:07:58 - перейти к сообщению
if ... elseif ... elseif ... elseif ... и так до посинения...
5. LIME - 11 Сентября, 2011 - 22:11:34 - перейти к сообщению
DeepVarvar а че циклы деприкэйтед обьявили?)))
6. DeepVarvar - 11 Сентября, 2011 - 22:19:56 - перейти к сообщению
Это я подчеркнул непригодность подхода.
Можно и циклом.
Но вот нормальный такой вариант:
PHP:
скопировать код в буфер обмена
  1. $users = array(
  2.   "user1" => "pass1",
  3.   "user2" => "pass2",
  4.   "user3" => "pass3",
  5.   "user4" => "pass4"
  6.   );
  7.  
  8. $user = "user2";
  9. $pass = "pass2";
  10.  
  11. if (array_key_exists($user,$users) and $users[$user] == $pass) echo "Ок!!!";

(Добавление)
Думаю что можно даже еще баммнуть код.
Незачем гонять сишный скомпиленый цикл на поиск наличия в массиве ключа юзера.
Можно даже тупо вот так 11 строку изменить:
PHP:
скопировать код в буфер обмена
  1. if (isset($users[$user]) and $users[$user] == $pass) echo "Ок!!!";
7. makar3000 - 11 Сентября, 2011 - 22:33:30 - перейти к сообщению
Удалено
8. DeepVarvar - 11 Сентября, 2011 - 22:35:27 - перейти к сообщению
ну так и есть "user1" => "pass1" сколько надо, столько и добавите.
(Добавление)
makar3000 пишет:
для чего это тогда:

$user = "user2";
$pass = "pass2";
А это то что приходит из формы
9. LIME - 11 Сентября, 2011 - 22:37:42 - перейти к сообщению
makar3000 это он указал типа введенные значения
так понятней?
PHP:
скопировать код в буфер обмена
  1. $user =$_POST['user'];
  2. $pass =$_POST['pass'];
10. makar3000 - 11 Сентября, 2011 - 22:45:45 - перейти к сообщению
Удалено
11. DeepVarvar - 11 Сентября, 2011 - 22:46:22 - перейти к сообщению
makar3000 пишет:
Не работает
как написали так и работает
(Добавление)
makar3000 пишет:
почему логин сверяется с паролем?
нет такого нигде
12. makar3000 - 16 Сентября, 2011 - 20:40:34 - перейти к сообщению
Спасибо помогли, закрывайте.

 

Powered by ExBB FM 1.0 RC1