Yii Framework Forum: Проблемы с регистрацией - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Проблемы с регистрацией Rate Topic: -----

#1 User is offline   imdogma 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 56
  • Joined: 04-July 09
  • Location:Ivanovo

Posted 06 July 2009 - 03:52 PM

Всем привет! Продолжая свое изучение Yii, решил сделать регистрацию пользователей.
Модель вот такая:

<?

class Register extends CFormModel
{
    public $username;
    public $password;
    public $email;
    public $icq;
    public $www;
    public $register_time;
    public $avatar_id = 0;
    public $activated = 0;
   
   
    public function rules()
        {
        return array(
        array('username','password','email','required'),
        array('username','unique'),
        array('email','email'),
        array('www','url')
        );
        } 


public function safeAttributes()
{
    return array(
        parent::safeAttributes(),
        'register' => 'username, password, email, icq, www',
    );
}


}

?>


Ф-ия регистрации в контроллере:

public function actionRegister()
{
$register=new Register;

if(isset($_POST['Register']))
{
if($register->validate())
{

}
}
$this->render('register',array('form'=>$register));

}

При попытке использования $register->validate() - Yii ругается на PHP-ошибку:
require(password.php) [<a href='function.require'>function.require</a>]: failed to open stream: No such file or directory


Снова прошу вашей помощи, друзья:)
0

#2 User is offline   Inkvizitor 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 26
  • Joined: 18-April 09

Posted 06 July 2009 - 04:06 PM

Список свойств модели должен быть в одной строке:
array('username, password, email','required')
0

#3 User is offline   imdogma 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 56
  • Joined: 04-July 09
  • Location:Ivanovo

Posted 06 July 2009 - 04:18 PM

Огромное спасибо, невнимательно изучал хелп :(
0

#4 User is offline   imdogma 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 56
  • Joined: 04-July 09
  • Location:Ivanovo

Posted 06 July 2009 - 05:03 PM

Дабы не плодить несколько топиков - спрошу здесь же: пытаюсь организовать ajax-форму.
Код такой:
		if(isset($_POST['Register']))
{


if(Yii::app()->request->isAjaxRequest)
{
if($register->validate())
{
print_r($register->getErrors());
}
else
{
print_r($register->getErrors());
}
}


}

проблема в том, что он ф-ия не присылает мне в ответ нового состояния getErrors(). То есть как будто все поля пустые. Хотя если я ради проверки начинаю выводить аяксом просто значения полей формы (например $output = $_POST['Register']['username']) - он показывает их правильно.
0

#5 User is offline   Inkvizitor 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 26
  • Joined: 18-April 09

Posted 06 July 2009 - 05:25 PM

Еще внимательнее к хелпу.

     $register=new Register;

      if(isset($_POST['Register']))
      {
                $register->scenario = 'register';
                $register->attributes = $_POST['Register'];

            if($register->validate())
            {
            }

0

#6 User is offline   imdogma 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 56
  • Joined: 04-July 09
  • Location:Ivanovo

Posted 06 July 2009 - 05:43 PM

Тем не менее все равно отказывается работать :(
	public function actionRegister()
{
$register=new Register;
if(isset($_POST['Register']))
{

$register->scenario = 'register';
$register->attributes = $_POST['Register'];

                if($register->validate())
                {
                if(Yii::app()->request->isAjaxRequest)
                {
                echo "Registred";
                }
                }
                else
                {
                if(Yii::app()->request->isAjaxRequest)
                {
                echo CHtml::errorSummary($register);
                }
                }



}
else
{
    $this->render('register',array('form'=>$register));
};






}


Чтото меня уже замучал этот аякс >:(
0

#7 User is offline   Inkvizitor 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 26
  • Joined: 18-April 09

Posted 06 July 2009 - 05:51 PM

Покажи код формы, которая отправляет запрос.

Я случайно опустил
if(Yii::app()->request->isAjaxRequest)
так что верни его на прошлое место =)
0

#8 User is offline   imdogma 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 56
  • Joined: 04-July 09
  • Location:Ivanovo

Posted 06 July 2009 - 06:05 PM

Вроде разобрался, оказалось что с отключенным js (тоесть без аякса, простым запросом) лезла ошибка, что моя модель Register не содержит getTableSchema, которая требовалась видимо для проверки:
array('username','unique'),

Убрал этот валидатор - все заработало.

0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users