???Форма аутентификации???

Alexey(Eburg)

Новичок
???Форма аутентификации???

Имею следующий код на первой странице с аутентификацией!
require_once('script.php');
session_start();
if ((isset($HTTP_POST_VARS['passwd']))&&(isset($HTTP_POST_VARS['username'])))
// Пользователь только что попытался войти в систему
{
// Создать короткие имена переменных
$username = $HTTP_POST_VARS['username'];
$passwd = $HTTP_POST_VARS['passwd'];
if ($grname=login($username, $passwd)) //Проверяет есть ли такой юзер в базе и присваивает имя его группы
{
if ($grname=='group1')
$locpath='group1/start.php';
else
if ($grname=='group2')
$locpath='group2/start.php';
else
$locpath='index.php';
if ($locpath=='index.php')
{
//Группа гостей => еще пока нет разрешения
do_html_header('Отказ в доступе:',true);
echo 'Вход в систему невозможен. Вы еще не получили разрешение на авторизацию.'<BR><BR>';
do_html_url('index.php', 'Назад');
do_html_footer();
exit;
}
else
header("Location: " . $locpath);
}
else
{
// Неудачный вход в систему
do_html_header('Отказ в доступе:',true);
echo "Вы не зарегистрироались. Вход в систему невозможен.<BR><BR>";
do_html_url('index.php', 'Назад');
do_html_footer();
exit;
}
}
//Первичное попадание на главную страницу. Рисуем страничку ввода пароля!
do_html_header('',true);
display_login_form();
do_html_footer();

Структура каталогов
...
index.php
group1/start.php
group2/start.php

Так вот проблема в том, что с некоторых компов при вводе верных пользователей и паролей отображается снова index.php, то есть как при первичном попадании на страницу или страничка "Невозможно отобразить страницу". Причем, если еще раз ввести правильного юзера, то все срабатывает и переходит на соответствующую группе страничку! Бьюсь над этим простым скриптом уже несколько дней - ничего понять не могу! Асы подскажите что не так в этом скрипте?
 

Фанат

oncle terrible
Команда форума
Alexey(Eburg)
Твой вопрос относится к той категории, в которой ответ можешь дать только ты сам.
Понимаешь ли, это очень непродуктивно - вперить взгляд в код, и вогображать себе, как бы он работал.
Выполняться код должен на компьютере, а не в голове.

Любой, самый правильно написанный скрипт может не работать по тысяче причин. И твоя задача - найти место, где происходит сбой.
это очень просто.
после каждой строчки своей программы выводишь отладочную информацию. проверяешь - а правильно ли выполнилась операция, вернула ли нужное значение.
И найдешь место, где происходит сбой.

подробнее написано здесь:
http://phpdaq.ru/debug
 

Фанат

oncle terrible
Команда форума
lucas
Пункт 2 противоречит пункту 1.
это политически неверный вопрос.
сейчас тебе радостно вывалят ее код (ОДИН ЧИСТЫЙ ХТМЛ!)
 

Alexey(Eburg)

Новичок
Протестировать это очень сложно! Я на своем компе и на компах в офисе этого не наблюдал никогда. Все ОК! А вот люди, которые пользуются системой из вне звонят и предъявляют такие претензии.

do_html_header
display_login_form
и так далее - это самописные функции отображающие содержимое страницы!
 

Фанат

oncle terrible
Команда форума
Alexey(Eburg)
И, это... ты в курсе, что это не авториация, а филькина грамота?

-~{}~ 12.07.04 09:38:

Протестировать это очень сложно! Я на своем компе и на компах в офисе этого не наблюдал никогда. Все ОК!
а от нас ты чего хочешь?
у нас тоже все ок.
 

lucas

Guest
Фанат

Надо было мне сразу интересоваться do_html_url.
Было подозрение, что товарищ может слать хедер.

Alexey(Eburg)

Тестировать что?
Кривой кусок недоделанного кода?
Увольте. У меня -- все Ok.
 

Alexey(Eburg)

Новичок
2 Фанат. Я не настаиваю на твоей помощи. Я считал что написание странички авторизации распространенное явление и может кто-нить сталкивался с подобными глюками как у меня.
Если не желаешь помочь, то и не пости, а если считаешь этот вопрос неуместным, то становись админом пхп клуба и удали его!
 

neko

tеam neko
Alexey(Eburg)

тебе тут помочь никто не сможет
во первых что делает твой код никому неизвестно и известно быть не может, по такому примеру.
во вторых "некоторых компов" небывает, бывают определенные браузеры.

лучший в данном случае совет -- отлаживай
 

Фанат

oncle terrible
Команда форума
Не закрыт.
Протестировать это очень сложно!
Но можно.
Отладку можно делать в оффлайне.
Для этого служат логи.
То есть, все то, что ты выводил бы на экран - пишешь в файл.
адрес, запрос, значения переменных.
проходит ли авторизация в login и так далее.
и таким образом отлавливаешь ошибку - когда тебе звонят клиенты, смотришь в лог.
Я не настаиваю на твоей помощи.
Ты не понял. Вопрос не во мне персонально. А в подходе. который у тебя неправильный.
Я считал что написание странички авторизации распространенное явление
Распространенное. Я, например, на этом форуме, в свое время, дал аж два хрестоматийных примера авторизации.
Но вот беда: то, что у тебя - это не авторизация, а дырка от бублика. Соответственно, таких глупостей никто не делал и с ошибками такими не сталкивался.
Если не желаешь помочь
Не надо писать глупостей. я желаю помочь. А вот тебе надо понять границы возможностей форума. В частности, телепатов здесь нет.

У тебя, видисо, со зрительным восприятием плохо.
повторяю, специально жирным шрифтом:
Любой, самый правильно написанный скрипт, может не работать по тысяче причин. И проблема не в какой-то секретной ОСОБОЙ ОШИБКЕ, а в опечатке или внешних условиях
Скажи, как мы можем отсюда увидеть опечатку в твоей функции login? Или в особенностях браузера или прокси у клиента? ась? И как по-твоему можем на нее указать? А именно в этом, по-твоему, и может заключаться помощь - ткнуть пальцем и сказать "правь здесь".
или ты думаешь, что здесь гадательный салон, где сидят медиумы и госпожи лилианы и вперив в тебя многозначительный взгляд, дают ответ вида "плюнь через левое плечо в урну, стоящую сзади от тебя на расстоянии 1,34м, подпрыгни три раза на одной ножке и исправь пятую по счету букву в седьмой строке скрипта локин пхп с а на я"?
Обломись.
Ошибка твоя из разряда "сделай сам". И это не потому, что я такой плохой и злобный и не хочу отвечать на твой вопрос.
А потому, что она действительно такая.

короче, это все лирика. Необходимый минимум знаний для того, чтобы форум тебе пошел на пользу.
А по делу - возвращайся к самому началу моего поста и садись отлаживать свой "скрипт авторизации".
 
Сверху