Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Php Авторизация (https://forum.antichat.xyz/showthread.php?t=58583)

procedure 14.01.2008 11:17

Php Авторизация
 
Такой вопрос. Обьясните пожалуста + и -. Что лучше применять значения глобальных переменных или сохранять значения авторизации в массиве.
Вобщем расскажите по подробней.

.:EnoT:. 14.01.2008 11:28

Ничё не понял...
при чём тут массивы?

scrat 14.01.2008 11:28

глобальные переменные - это зло,на большинстве серверов register_globals отключена.лучше хранить всё в сессии и обращаться как:
PHP код:

 echo "Имя:".$_SESSION['user']; 


procedure 14.01.2008 11:34

Цитата:

Ничё не понял...
при чём тут массивы?
Да я читал что можно просто данные авторизацции хранить в массиве, каком то.
Цитата:

echo "Имя:".$_SESSION['user'];
понятно спасибо. а почему отключена? я уже на локалхосте планирую блог.

.:EnoT:. 14.01.2008 11:37

на php6 разработчики вообще хотят по дефолту выключить регистер_глобалс и правильно!
если автор имеет ввиду про то как лучше проводить авторизацию...то лучше использовать связку сессий и куки.
scrat +1 регистр глобалс зло

Macro 14.01.2008 11:39

А как связаны авторизация и register_globals???

scrat 14.01.2008 11:41

Цитата:

Сообщение от .:EnoT:.
на php6 разработчики вообще хотят по дефолту выключить регистер_глобалс и правильно!
если автор имеет ввиду про то как лучше проводить авторизацию...то лучше использовать связку сессий и куки.
scrat +1 регистр глобалс зло

они её не отключат.её просто не будет

procedure 14.01.2008 11:42

все равно не понимаю, у меня в учебнике описание глобальных переменных чуть ли не на весь учебник...

.:EnoT:. 14.01.2008 11:44

при registr_globals on данные записываются прям в переменные, т.е.
PHP код:

#какая-то форма, например авторизации
echo'
<form method="post">
<input type="text" name="name" />
.....
</form>'
;

echo
"$name"

Т.е. name как видишь записывается прямо в переменную.
А при офф нужно делать так:
PHP код:

$name $_POST['name']; 

т.е. получать данные из запроса и уже после этого писать их в переменную.
А данные об авторизации храни в куки.
При использовании сессий авторизация хранится грубо говоря только до закрытия окна браузера. Потом придётся заново вводить логин/пароль.
При использовании куки такого нет, куки хранятся до истечения срока их действия (скока установишь).
Минус в том что бывает что куки отключены в браузере, хотя это бывает редко.

krypt3r 14.01.2008 11:48

Забудьте про глобальные переменные и отключите у себя register_globals, если это у вас включено. Юзайте сессии, как уже было сказано. Кстати, $_SESSION - это и есть массив.


Время: 14:21