• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Помощь проблема с авторизацией в модуле

Статус
В этой теме нельзя размещать новые ответы.

likarek

Создатель
Регистрация
21 Фев 2009
Сообщения
14
Реакции
0
Собственно пишу модуль и вот какая проблема
есть страничка, на ней два поля одно для подписи второе для сообщения, после заполнения отправляем данные на обработку, так вот суть в том что бы сделать автоматическое вставление в подпись логин юзера
вот код в который передается post запрос от подписи
(пишет введеный логин или если поле осталось пустым пишет гость)
PHP:
if( $_POST['user_name'] ) $user_name = $_POST['user_name']; 
else $user_name = "Гость";
вот код который использую для авторизации пользователя
PHP:
$user_group = get_vars( "usergroup" );

require_once ENGINE_DIR . '/modules/sitelogin.php';
if ($is_logged ) { $user_name = $member_id['name']; }
if (!$is_logged){
	if( $_POST['user_name'] ) $user_name = $_POST['user_name']; 
	else $user_name = "Гость";
}
код работает, т.е. подписывает логин если юзер авторизовался, или пишет гость если не прошел авторизацию и оставил поле пустым.
но почему выскакиваю ошибки, если авторизован

Notice: Undefined index: key in ...\engine\modules\sitelogin.php on line 105

а если не авторизован

Notice: Undefined index: dle_log in ...\engine\modules\sitelogin.php on line 46
Notice: Undefined index: dle_user_id in ...\engine\modules\sitelogin.php on line 113

собственно как решить проблему?
 
Я так понимаю, ты пишешь модуль не интегрированный в движок, т.е он работает и запускается отдельно.
В таком случае в самом начале кода вставь:
PHP:
@error_reporting ( E_ALL ^ E_NOTICE );
@ini_set ( 'display_errors', true );
@ini_set ( 'html_errors', false );
@ini_set ( 'error_reporting', E_ALL ^ E_NOTICE );
define ( 'DATALIFEENGINE', true );
$member_id = FALSE;
$is_logged = FALSE;
И еще, не совсем по теме,но
PHP:
if( $_POST['user_name'] )
замени на
PHP:
if( isset($_POST['user_name']) and  strlen($_POST['user_name'])>1 )
сперва всегда должно проверяться наличие $_POST, иначе в версиях от php5 будет выводиться предупреждение.
 
Спасибо огромное, помогло! а я 2 дня сидел над этим ((
 
про фильтрацию не забудь
хотябы такую
Код:
$Cto_to = $db->safesql($_REQUEST['ctoto']);
 
про фильтрацию не забудь
хотябы такую
Код:
$Cto_to = $db->safesql($_REQUEST['ctoto']);
А зачем тут фильтрация, извините?
В этом скрипте уже ничего не поможет, все важные действия уже сделаны ДО.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху