Автор Тема: Нужна помощь!  (Прочитано 4167 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн chaosstorm

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 46
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.zarabotokdeneg.ru
Нужна помощь!
« : 05 Июня 2003, 18:21:12 »
Я ещё мало мыслю в PHP! Помогите пожалуйста!
Такая проблема. Имеется скрипт.
if ($login == 4chaosstorm )
{ include "то-то"; }
?>

почему при загрузке страницы с данныйм скриптом выскакивает ошибка:
Parse error: parse error, unexpected T_STRING in index.php on line 26

Оффлайн ZeRo

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 34
  • +0/-0
  • 0
    • Просмотр профиля
    • http://jobdog.ru
Нужна помощь!
« Ответ #1 : 05 Июня 2003, 18:33:00 »
А я бы сделал так:



global $login;

if($login==\'4chaosstorm\')
{
// Что хочешь
}

elseif($login==\'zero\')
{
//что-то другое
}

else
{
echo "таких тут нет";
}
?>



Все .... а если тебе надо сравнивать пароль и логин то тут немного сложнее (пиши).

Оффлайн Xander

  • санитар леса
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1780
  • +0/-0
  • 2
    • Просмотр профиля
Нужна помощь!
« Ответ #2 : 05 Июня 2003, 18:39:26 »
chaosstorm
ты не поставил кавычки.

прочитай мануал целиком, станет проще (ссылка в FAQ этого раздела форума)

ZeRo
вообще говоря, прописывать пароль в скрипте, да еще и открытым текстом не стоит. Лучше юзать функции хеширования.
•••Jah\'d never let us down!•••

Оффлайн ZeRo

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 34
  • +0/-0
  • 0
    • Просмотр профиля
    • http://jobdog.ru
Нужна помощь!
« Ответ #3 : 05 Июня 2003, 18:50:35 »
Я и говорю что сложнее !!!!

Оффлайн FreeSpace

  • Штатный лодырь
  • Ветеран
  • *****
  • Сообщений: 613
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.infinity.com.ua
Нужна помощь!
« Ответ #4 : 05 Июня 2003, 19:29:56 »
ZeRo
Да и global $login ты перепутал с $login = $_POST[\'login\'] или $login = $_GET[\'login\']...
Программирование - это единственное искусство, которое способно воплотить столь уникальное сочетание эстетики и функциональности.

Оффлайн chaosstorm

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 46
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.zarabotokdeneg.ru
Нужна помощь!
« Ответ #5 : 05 Июня 2003, 21:44:17 »
А что нужно сделать, чтобы праверялся пароль и логин, и ели они оба верны, то include то-то

Оффлайн FreeSpace

  • Штатный лодырь
  • Ветеран
  • *****
  • Сообщений: 613
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.infinity.com.ua
Нужна помощь!
« Ответ #6 : 05 Июня 2003, 21:51:01 »
Нужно хранить в двух переменных логин и пароль (лучше хеш пароля).
$login "root";
$password "MySecretPassword";
if (
$_POST[\'login\'] == $login && $_POST[\'password\'] == $password)
{
// пользователь прошел авторизацию
}
else
{
die("Имя пользователя или пароль указаны неверно");
}
// В целях безопасносит удаляем из памяти правильное имя пользователя и пароль
unset ($login, $password);
Программирование - это единственное искусство, которое способно воплотить столь уникальное сочетание эстетики и функциональности.

Оффлайн chaosstorm

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 46
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.zarabotokdeneg.ru
Нужна помощь!
« Ответ #7 : 05 Июня 2003, 23:10:16 »
А если несколько пользователей. Какой тогда код?

Оффлайн FreeSpace

  • Штатный лодырь
  • Ветеран
  • *****
  • Сообщений: 613
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.infinity.com.ua
Нужна помощь!
« Ответ #8 : 05 Июня 2003, 23:27:42 »
chaosstorm
А как на счет того, чтобы пойти и RTFM?
Есть огромное количество разных способов!
Можно хранить имена пользователей и хеши паролей в базе данных, в отдельном текстовом файле, прямо в теле скрипта или вообще отказаться от авторизации средствами php и положиться на Apache, используя .htaccess/.htpasswd. Все эти способы обсуждались тут (да и на других сайтах/факах/форумах) уже не один раз, юзай поиск.
Программирование - это единственное искусство, которое способно воплотить столь уникальное сочетание эстетики и функциональности.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Нужна помощь!
« Ответ #9 : 06 Июня 2003, 11:13:00 »
парсе еррор был потому, что строки в РНР
ДОЛЖНЫ БЫТЬ заключены в кавычки.

Несмотря на всю свою несомненную крутость, слово "4chaosstorm" - тоже строка, и должна быть в кавычках.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Нужна помощь!
« Ответ #10 : 06 Июня 2003, 11:22:25 »
Если у тебя несколько пользователей, то сделай массив вида
логин=>пароль, где логин является ключом, а пароль значением.

$users=array(
"4chaosstorm"=>"lamer",
"someuser"=>"somepass"
);
и потом проверить можно просто
$login=$_POST[\'login\'];
if ($users[$login]== $_POST[\'password\'])

только для логинов соблюдать правила, которые существуют для ключей массивов. Они перечислены в документации.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28