Как выделить имя пользователя из URL ?

Создал новое событие в Profile.class.php для события ajax

$this->Security_ValidateSendForm();
            $this->Viewer_SetResponseAjax();

              $sUserLogin1=$this->sCurrentEvent;
            $this->oUserProfile=$this->User_GetUserByLogin($sUserLogin1);
            $iUserId1 = $this->oUserProfile->getId();


но в ответе браузера вижу

<br />
<b>Fatal error</b>:  Call to a member function getId() on a non-object in <b>/home/content/02/7191902/html/classes/actions/ActionProfile.class.php</b> on line <b>124</b><br />


Сделал по аналогии с другими событиями. Что не так скажите пожалуйста?

9 комментариев

avatar
Вы уверенны что в sUserLogin1 точно имя пользователя, потому что oUserProfile вы не получили о чем вам пишут буквами.
avatar
$this->sCurrentEvent
не всегда может быть установленно. Если вы УВЕРЕНЫ, что во второй части URL, т.е. в event, находится имя пользователя, т.е. вы вызываете свое событие ajax в виде site.ru/action/login/ajaxevent, то получить event можно так:
$sUserLogin1=Router::GetActionEvent();
avatar
Спасибо
avatar
Передавайте id\логин пользователя в request массиве
avatar
Там такое дело что id идет в базу данных потом на сохранение.Делать потом запрос на проверку есть ли такой пользователь или нет? может я не так что от понял? Поэтому надо однозначно иденцифицироват ползователскую страчичу. Я не доверяю сети :) Наверно я параноик? :)
avatar
Дай кусок js кода, которым ты отправляешь запрос.
avatar
plugin Note (plugin Note):

function SubmitChanges1() {        

            if (skipNext) {
		skipNext = false;  
		return;
	}
 
		$.ajax({
			   type		: 'POST',
			   url		: aRouter['profile'] + 'note/', 
			   //dataType	: 'json',
			   data		: "text="+$('#notetext').val()+"&user_id="+iUserId+"&security_ls_key="+LIVESTREET_SECURITY_KEY,
			   success	: function(result, errors) {

                               if (!result) {
                	msgErrorBox.alert('Error','Please try again later');
                	return;
        		}
				if (result.bStateError) {
                	msgErrorBox.alert(result.sMsgTitle,result.sMsg);
				}
						  }
                                                  });

                            if ( $('#notetext').val() ) { 
                                $("#noteplace").text( htmlspecialchars($("#notetext").val()));
                               /*  $("#noteplace").text() =   sNoticeTextIsEmpty; */
                                alert("chto to est");
                        }
                        else {
                            /*  */
                            alert("nixrena");
                        }

        if (enterPressed) {
		enterPressed = false;   
		skipNext = true;
	}
        }
avatar
url: aRouter['profile'] + 'note/',
значит sCurentEvent = 'note'

user_id="+iUserId
вот и получай в своей функции как getRequest('user_id')
avatar
отписал в личку
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.