Вы не зашли.
#1.
2010
Off
(1)
Участник
2010.02.24 09:09
У меня проблема.
Вот например авторизация админа.
<?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(); ? Гемарой, будь добр поделись знанием. у меня Регистер глобал - офф.
стартовать сессию нужно во всех файлах где она используется
#3.
2010
Off
(1)
Участник
2010.02.24 11:11
Щас попробую.
#4.
2010
Off
(1)
Участник
2010.02.24 14:02
Да всё равно не работает. Не один скрипт открыл, всё написано правильно как и у меня. Я даже проверял оператором иф админ вошел или нет. Не хочет работать вобще. Я мля не понимаю. Я специально создал одну страничку для теста. сессия_старт(); - стоит! сессия[логин и пароль]. но всё равно пишет мне что я не админ и как бы вобще не авторизирован. Че за нахер? может у меня php.ini не правильно сконфигурирован? да врядли. Я открывал два скрипта, там также написано как и у меня.
Добавлено спустя 1 минуту 38 секунд: Чо та я наверно не так сделал.
Добавлено спустя 4 минуты 4 секунды: Гемарой, вот в том то и прикол, сессия стартует во всех файлах где она используется. Сессия у меня всегда самая первая на первой строке.
#5.
2010
Off
(1)
Участник
2010.02.24 17:05
Всё! код, видь он у меня правельный был. Но каким то фигом у меня php.ini заблудился. А я сижу, думаю где проблема а там php.ini на приколе. Гг.
Имхо, по мне лучше сделать вот так:
$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';
Только пасс крыть надо
ДАУН-Данная Аватара Унаследована Незнайкой
НЕЗНАЙКА, че его крыть то?
Добавлено спустя 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');
}
}
Затем, чтобы куки не утащили. А там пароль в чистом виде
ДАУН-Данная Аватара Унаследована Незнайкой
Страниц: 1