|
|
|
|
|
для: DiMoN_TD
(03.12.2007 в 13:18)
| | Уважаемый! А почему бы Вам не воспользоваться уже готовым модулем авторизации PEAR? Используйте модуль Auth::Auth в PHP скрипте.Там все есть, и шлепайте свои велосипеды сколько угодно:)))) | |
|
|
|
|
|
|
|
для: emi
(03.12.2007 в 16:10)
| |
window.location.reload();
|
| |
|
|
|
|
автор: emi (03.12.2007 в 16:10) |
|
|
для: DiMoN_TD
(02.12.2007 в 01:39)
| | если тебе нужна просто перезагрузка страницы жаваскриптом, то вот тебе строчка....
window.history.go(); | |
|
|
|
|
|
|
|
для: wawilon
(03.12.2007 в 10:52)
| | кукисы формируются, а то сообщение выводится как раз, если пароль неверный, соотвественно и кукисы формироваться не будут!
и вообще, что самое интересное, что даже если я указываю в блоке header.php форме action="main.php" (где опять же идёт обработка логина, пароля и кукисов), то при нажатии на клавишу Вход, меня всё равно оставляет на странице index.php!!! ПОЧЕМУ??? Или это из-за кэша страницы??
Проверял в IE 6, там такая же ситуация!! Уже заколебало если быть честным! =( | |
|
|
|
|
|
|
|
для: DiMoN_TD
(02.12.2007 в 16:54)
| | Вероятно ошибка возникает из-за того что Вы пытаетесь инициализировать куки переменные после того как на экран выдалась фраза "Вы ввели неправильный логин/пароль".
Функцией setcookie можно пользоваться до того как что то выведено на экран иначе заголовок будет уже сформирован и в куки вы ничего записать не сможете. | |
|
|
|
|
|
|
|
для: DiMoN_TD
(02.12.2007 в 16:54)
| | Проверяйте, да и не только это, обратите внимание:
<?
if (isset($_POST["submit"])) {$submit = $_POST["submit"];}
if (isset($_POST["login"])) {$login = $_POST["login"];}
if (isset($_POST["pass"])) {$pass = $_POST["pass"];}
//а теперь пишем так
echo '<A HREF="main.php?login">GO</A>';
if (isset($_GET['login'])) echo "Login YES!";
//есть над чем подумать
?>
|
| |
|
|
|
|
|
|
|
для: sim5
(02.12.2007 в 16:10)
| | ага, понял...
теперь у меня код такой
check.php
<?php
include("bd.php");
if(isset($_COOKIE["id"])) {$id_cook = $_COOKIE["id"];}
if(isset($_COOKIE["hash"])) {$hash_cook = $_COOKIE["hash"];}
if (isset($id_cook) AND isset($hash_cook))
{
$result2 = mysql_query("SELECT * FROM users WHERE id = '$id_cook'");
$myrow2 = mysql_fetch_array($result2);
if (($myrow2["hash"] == $hash_cook) OR ($myrow2["id"] == $id_cook))
{
// print "Привет, ".$myrow2["login"].".Всё работает!";
$OK = true;
header ('index.php'); //обновляет мне страницу, если кукисы совпадают с кукисами в БД
}
else
{
// print "Хм, что-то не получилось";
}
}
else
{
$OK = false;
}
?>
|
Вот. Но тут таки опять проблема, когда я ввожу правильный логин и пароль, у меня всё обновляется и с первого же раза меня впускает в систему, но вот если я ввожу неправильный логин или пароль, то мне выдаёт сл. ошибку:
Вы ввели неправильный логин/пароль
Warning: Cannot modify header information - headers already sent by (output started at z:\home\students.org\www\blocks\log.php:32) in z:\home\students.org\www\blocks\check.php on line 17
|
Хотя странно, ведь он не должен выполнять функцию header т.к. условие ведь не выполняется!!!
Что ж он выдаёт такую ошибку, я не пойму! =\ | |
|
|
|
|
|
|
|
для: DiMoN_TD
(02.12.2007 в 15:56)
| | Ну вот и сделайте проверку в index.php - авторизованный ли пользователь ее открыл или нет. Тогда хидер с того места, где у вас проверяется удачна или нет авторизация, на индексный файл, даст желаемый результат. | |
|
|
|
|
|
|
|
для: sim5
(02.12.2007 в 14:41)
| | нет, он начинается с index.php, а к нему подключается уже и log.php (создаёт кукисы и обновляет БД), и check.php (тут идёт проверка кукисов). Собственно я так вижу структуру авторизации... если у вас есть альтернатива, то подскажите пожалуйста как мне перестроить свой сайт под другую структуру! | |
|
|
|
|
|
|
|
для: DiMoN_TD
(02.12.2007 в 14:38)
| | А ваш сайт, что начинается с check.php? | |
|
|
|
|