Массив $smf_user_info (SMF_API)

Автор BelStudent, 01 февраля 2009, 22:41:47

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

BelStudent

Массив $smf_user_info должен возвражать достоверную информаю, зарегил пользователя как админа, а  $smf_user_info после выполнения связки:
smf_setLoginCookie(1000000,'user','pass'))
smf_authenticateUser()
Всё равно показывает is_guest==true

BelStudent

#1
Проблема найдена - не происходит аутентификация, но как решить эту проблему? Вроде код верный:
<?php
include_once('smf_api.php');
if (smf_setLoginCookie(1000,'admin','admin'))
   {   
      $temp=smf_authenticateUser();
      print_r($smf_user_info);
   }
?>
или кто заметил ошибку?

silicium



Elzor

Если я все правильно понимаю, то не работает потому, что куки невозможно получить без перезагрузки страницы. 
Люди не знают, что лисы умеют лазить по деревьям, если очень сильно захотят. Вот белки - те знают.
 (с) П.Бигл

silicium

кто-то знает как сделать логаут?

AndryG

Простите за поднятие темы, но пусть в ней будет и ответ.
smf_setLoginCookie() имеет четвертый параметр, который указывает, что за пароль Вы даете функции.

В Вашем случае: smf_setLoginCookie(1000000,'user','pass') нужно передать четвертым параметром FALSE, тем самым указать, что пароль у вас нешифрованый (функция сама достанет имя юзера, соль и зашифрует пароль для куки)
Если же Вы уже в коде имеете заполненный массив $smf_user_info, то можно установить куку и так:
 smf_setLoginCookie
(86400$data['uid'], sha1($smf_user_info['passwd'].$smf_user_info['passwordSalt']), true);