Русскоязычный форум, посвященный фреймворку Kohana
http://forum.kohanaframework.su/

Проблема - пустая страница
http://forum.kohanaframework.su/viewtopic.php?f=31&t=430
Страница 1 из 3

Автор:  ETQW [ 05 ноя 2012, 11:19 ]
Заголовок сообщения:  Проблема - пустая страница

Пролистал весь форум... нашел подобную ошибку, но у меня все было исправлено, а ошибка не исчезла. Вернее, она исчезла для большинства страниц, таких как Kohana/ kohana/auth kohana/auth/reg, но при нажатии на кнопку Зарегистрироваться, меня просто перекидывает на kohana/auth/reg и показывает пустую страницу. сейчас буду постить кусками код. Прошу помогите разобраться :( Версия kohana 3.1, apache 2.2.17, php 5.3.5.

Автор:  ETQW [ 05 ноя 2012, 11:20 ]
Заголовок сообщения:  Re: Проблема - пустая страница

Вот код от auth.php

Код:
<?php defined('SYSPATH') or die('No direct script access.');

class Controller_Auth extends Controller_Template {

   public $template = 'basic';
   
   public function action_index()
   {
      $auth = Auth::instance();
      $data = array();
      
      if($auth->logged_in())
      {
         Request::initial()->redirect('');
      }      
         else
         {
            if (isset($_POST['btnsubmit']))
            {
               $login = Arr::get($_POST, 'login', '');
               $password = Arr::get($_POST, 'password', '');
               
               if($auth->login($login, $password))
               {
                  $session = Session::instance();
                  $auth_redirect = $session->get('auth_redirect', '');
                  $session->delete('auth_redirect');
                  Request::initial()->redirect($auth_redirect);
               }
               else
               {
                  $data["errors"] = "";
               }
            }
         }
      $this->template->content = View::factory('authview', $data);
         
      
   }

   public function action_reg()
   {
      $data = array();
      if (isset($_POST['btnsubmit']))
      {
         $email = Arr::get($_POST, 'email', '');
         $regcodevalue = Arr::get($_POST, 'regcodevalue', '');
         
         $register = new Model_Register();
         if($register->reg($email, $regcodevalue, 1))
         {
            $data["regok"] = "";
         }
         else
         {
            $data["errors"] = $register->$errors;
         }
      }
      $this->template->content = View::factory('regview', $data);
   }
   
   public function action_hpass()
   {
      $auth = Auth::instance();
      $this->template->content =$auth->hash_password('admin');
   }
   public function action_logout()
   {
      $auth = Auth::instance();
      $auth->logout();
      $this->template->content ="Разлогинелись";
   }
}

Автор:  ETQW [ 05 ноя 2012, 11:21 ]
Заголовок сообщения:  Re: Проблема - пустая страница

Вот от register.php

Код:
<?php defined('SYSPATH') or die('No direct script access.');

class Model_Register
{
   
   public function reg($email, $regcodevalue, $role)
   {
      $regcode = new Model_Regcode();
      $user = new Model_User();
      
      //Create user
      $user->username = $email;
      $user->email = $email;
      $user->password = "12345";
      
      try
      {
         $myuser->save();
         //Uznaem ID usera
         $usertemp = ORM::factory('user', array('username'=>$email));
         $adduserid = $usertemp->id;
         
         //Save role
         $addrole = new Model_Addrole();
         $addrole->user_id = $adduserid;
         $addrole->role_id = $role;
         $addrole->save();
      
      return TRUE;
      }
      catch(ORM_Validation_Exception $e)
      {
         $this->errors = $e->errors('validation');
         return FALSE;
      }
            
   }
}

Автор:  ETQW [ 05 ноя 2012, 11:23 ]
Заголовок сообщения:  Re: Проблема - пустая страница

Вот user.php

Код:
<?php defined('SYSPATH') or die('No direct script access.');

class Model_User extends ORM
{
   //protected $_table_name = 'users';
   public function rules()
   {
      return array(
         'username' => array(
         array('not_empty'),
         array('email'),
         //array(array($this, 'username_unique')),
         ),
      );
   }

}




Register.php и user.php лежат в kohana\www\application\classes\model\

Автор:  ETQW [ 05 ноя 2012, 11:24 ]
Заголовок сообщения:  Re: Проблема - пустая страница

Код:
<?php
defined('SYSPATH') or die('No direct script access.');

return array(
   'username' => array(
      'not_empty' => 'Вы не ввели адрес эл. почты.',
      'email' => 'Вы допустили ошибку при вводе адреса эл. почты.',
   ),
);


Этот user.php лежит в kohana\www\application\messages\validation\

Автор:  ETQW [ 05 ноя 2012, 11:25 ]
Заголовок сообщения:  Re: Проблема - пустая страница

Вот mycontroller.php

Код:
<?php defined('SYSPATH') or die('No direct script access.');

class Mycontroller extends Controller_Template
{
   public function before()
   {
      $session = Session::instance();
      $session->set('auth_redirect', $_SERVER['REQUEST_URI']);
     
      $auth = Auth::instance();
      if($auth->logged_in() == 0) Request::initial()->redirect('auth');
      return parent::before();
   }
}

Автор:  ETQW [ 05 ноя 2012, 11:25 ]
Заголовок сообщения:  Re: Проблема - пустая страница

Main.php

Код:
<?php defined('SYSPATH') or die('No direct script access.');

class Controller_Main extends Mycontroller {

   public $template = 'basic';
   
   public function action_index()
   {
      $this->template->content = View::factory('home');
   }

}

Автор:  ETQW [ 05 ноя 2012, 11:27 ]
Заголовок сообщения:  Re: Проблема - пустая страница

А вот и то, что, как я понял отвечает за сам вид страницы, а точнее, благодаря чему должны выводиться сообщения об ошибках, но ничего не происходит: regview.php, который находится в папке с видами kohana\www\application\views\

Код:
<?if(isset($regok)){?>
   <p style="text-align:center; color:green;">
      Регистрация прошла успешно
   </p>
<?}?>
<?if(isset($errors)){?>
   <?foreach($errors as $item){?>
      <p style="color:red"><?=$item?></p>
      <?}?>
<?}?>

<form action="" method="post">
      <table class="login" style="background-color:#ff4f4f;">
            <tr>
               <th colspan="2" style="padding-bottom:10px;">Регистрация пользователя</th>
            </tr>
            <tr>
               <td style="text-align:right">Эл. почта:</td>
               <td><input type="text" name="email"></td>
            </tr>
            <tr>
               <td style="text-align:right">Секретный код:</td>
               <td><input type="text" name="regcodevalue"></td>
            </tr>
            <tr>
               <td style="text-align:right" colspan="2"><input type="submit" value="Зарегистрироваться" style="width:160px; height:30px" name="btnsubmit"></td>
            </tr>
      </table>
</form>

Автор:  nixon [ 06 ноя 2012, 10:55 ]
Заголовок сообщения:  Re: Проблема - пустая страница

О, я так понял по Морковину делаете)
Исходники лучше скиньте архивом

Автор:  nixon [ 06 ноя 2012, 10:58 ]
Заголовок сообщения:  Re: Проблема - пустая страница

Скорее всего ошибка в модели user.php, там далее в уроках это озвучивается, она переопределяет системную модель

Страница 1 из 3 Часовой пояс: UTC + 4 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/