2010 » 2010.02.24 06:06 |
У меня проблема. Вот например авторизация админа.
<?php
session_start();
$al="admin";
$ap="pass";
if($_POST['login']==$al && $_POST['pass']==$al) {
$_SESSION['login']=$al;
$_SESSION['pass']=$ap;
print "<a href=/index.php>Home</a>"; } print " <form method=post>
login<input type=text name=login>
pass<input type=text name=pass>
<input type=submit value=login> </form>"; ?>
теперь индекс: <?php
session_start();
$al="admin";
$ap="pass";
if($_SESSION['login']=$al && $_SESSION['pass']=$ap) {
print "privet admin"; }
?> теперь файл конфигурации php.ini:
session.use_trans_sid = on
--ВСЁ--
В общем когда авторизируюсь под логином админа и перехожу на главную то мне не пишет что я админ. Сессия, авторизация, индекс, пхп.ини - вроде всё верно. Но в чем error? или надо зарегать в session_register(); ? Гемарой, будь добр поделись знанием. у меня Регистер глобал - офф. |
Gemorroj » 2010.02.24 07:11 |
стартовать сессию нужно во всех файлах где она используется |
2010 » 2010.02.24 08:26 |
Щас попробую. |
2010 » 2010.02.24 11:34 |
Да всё равно не работает. Не один скрипт открыл, всё написано правильно как и у меня. Я даже проверял оператором иф админ вошел или нет. Не хочет работать вобще. Я мля не понимаю. Я специально создал одну страничку для теста. сессия_старт(); - стоит! сессия[логин и пароль]. но всё равно пишет мне что я не админ и как бы вобще не авторизирован. Че за нахер? может у меня php.ini не правильно сконфигурирован? да врядли. Я открывал два скрипта, там также написано как и у меня. Добавлено спустя 1 минуту 38 секунд: Чо та я наверно не так сделал. Добавлено спустя 4 минуты 4 секунды: Гемарой, вот в том то и прикол, сессия стартует во всех файлах где она используется. Сессия у меня всегда самая первая на первой строке. |
2010 » 2010.02.24 14:30 |
Всё! код, видь он у меня правельный был. Но каким то фигом у меня php.ini заблудился. А я сижу, думаю где проблема а там php.ini на приколе. Гг. |
@Office » 2010.03.01 19:14 |
Имхо, по мне лучше сделать вот так: $set['pass'] = 123; //Пароль if(isset($_GET['pass'])) { if ($_GET['pass'] == $set['pass']) { $_SESSION['pass'] = $_GET['pass']; @setcookie("pass", $_GET['pass'], time()+3600); } } $admin = $_SESSION['pass'] == $set['pass']; А потом проверяешь типо if($admin) echo 'ты админ'; else echo 'Не админ :p'; |
Gemorroj » 2010.03.01 19:22 |
да, интересный вариант) |
НЕЗНАЙКА » 2010.03.02 15:21 |
Только пасс крыть надо |
@Office » 2010.03.02 18:51 |
НЕЗНАЙКА, че его крыть то? Добавлено спустя 3 минуты 55 секунд: Вот еще 1 вариант :) $login = 'логин'; $passwd = 'пароль'; if(!isset($_SESSION["ok"])) { @$name = trim($_POST["name"]); @$pass = trim($_POST["pass"]); if(empty($name)) { echo '<form action="'.$_SERVER["PHP_SELF"].'" method="POST"> <small>Логин:</small> <br /> <input type="text" name="name"> <br /> <small>Пароль:</small> <br /> <input type="password" name="pass"> <br /> <input type="submit" value="OK"> </form>'; exit(); } if($name == $login and $pass == $passwd) { if($opera_mini == TRUE) { $_SESSION["ok"] = md5(md5($_SERVER["HTTP_USER_AGENT"]).md5(date("d"))); $_SESSION["p"] = md5($pass); } else { $_SESSION["ok"] = md5(md5($_SERVER["HTTP_USER_AGENT"]).md5($_SERVER["REMOTE_ADDR"])); $_SESSION["p"] = md5($pass); } } if($name != $login) { exit('Вы ввели неправильные данные.'); } if($pass != $passwd) { exit('Вы ввели неправильные данные.'); } } else { if($opera_mini == TRUE) { if($_SESSION["ok"] != md5(md5($_SERVER["HTTP_USER_AGENT"]).md5(date("d")))) { unset($_SESSION["ok"]); $_SESSION["ok"] = FALSE; unset($_SESSION["p"]); $_SESSION["p"] = FALSE; unset($_SESSION["p"]); session_destroy(); exit('ERROR AUTHORISATION'); } } else { if($_SESSION["ok"] != md5(md5($_SERVER["HTTP_USER_AGENT"]).md5($_SERVER["REMOTE_ADDR"]))) { unset($_SESSION["ok"]); $_SESSION["ok"] = FALSE; unset($_SESSION["p"]); $_SESSION["p"] = FALSE; unset($_SESSION["p"]); session_destroy(); exit('ERROR AUTHORISATION'); } } if($_SESSION["p"] != md5($passwd)) { unset($_SESSION["ok"]); $_SESSION["ok"] = FALSE; unset($_SESSION["p"]); $_SESSION["p"] = FALSE; unset($_SESSION["p"]); session_destroy(); exit('ERROR AUTHORISATION'); } } |
НЕЗНАЙКА » 2010.03.03 11:56 |
Затем, чтобы куки не утащили. А там пароль в чистом виде |