Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: MVC и сесии

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
alchin
Отправлено: 31 Декабря, 2014 - 10:34:24
Post Id



Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Нояб. 2011  
Откуда: Городок


Помог: 0 раз(а)




Здравствуйте, подскажите пожалуйста как организовать сесии чтоб работал этот скрипт:
роутеры
PHP:
скопировать код в буфер обмена
  1. $route->connect( '()', 'Home/home/$1') ;
  2. $route->connect( '(ua)', 'Home/home/$1') ;
  3. $route->connect( '(ru)', 'Home/home/$1') ;


PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. class ControllerHome extends ControllerAbstract{
  4.  
  5.     public function __construct() {
  6.         parent::__construct();
  7.     }
  8.    
  9.     // подключаем экшен home
  10.     final public function home(){
  11.         //получаем параметры из URI
  12.         $router = Router::instance();
  13.         $params = $router->params();
  14.        
  15.         if (!$_POST) {
  16.             session_start();
  17.             $View_login = $this->loadView('default', 'Login');
  18.             $View_login->render();
  19.            
  20.         }else{
  21.             session_start();
  22.             //подключаем модель
  23.             $this->Model_home = $Model_home = $this->loadModel('Home');
  24.             //получаем данные для проверки данных получаемых из $_POST
  25.             $data_login = $Model_home->login();
  26.            
  27.             $post = $_POST;
  28.             foreach ($data_login as $value){
  29.                 if($post['login'] === $value['login'] and $post['pass'] === $value['pass']){
  30.                     if($value['id_user'] == 0){
  31.                         $_SESSION['id'] = ($value['id_t'] != 0)
  32.                            ? array('t',$value['id_t'])
  33.                            : array('p',$value['id_p']);
  34.                         break;
  35.                     }else{
  36.                         $data_user = $Model_home->dataUser();
  37.                         $_SESSION['id'] = $data_user['0']['rank'];
  38.                         break;
  39.                     }
  40.                 }
  41.             }
  42.            
  43.             if ($_SESSION['id']) {
  44.                 $Viev_home = $this->loadView();
  45.                 if(is_array($_SESSION['id'])){
  46.                     $data_person = $Model_home->person($_SESSION['id']);
  47.                     $Viev_home->set($data_person);
  48.                     $Viev_home->count = _count($data_person);
  49.                    
  50.                     if($params[0] === 'ua' or $params[0] === 'ru'){
  51.                         $lang = ($params[0] === 'ua')?0:1;
  52.                         $Model_home->lang($lang);
  53.                     }

Если юзер переходит по ссылке site.ru/ru или site.ru/ua то перебрасывает на страницу авторизации и в БД не записываются данные.

(Отредактировано автором: 31 Декабря, 2014 - 10:45:03)

 
 Top
Bio man
Отправлено: 31 Декабря, 2014 - 13:08:38
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




какой то странный контроллер. слишком уж жирный.
половину можно вынести в модель. работу с сессиями нужно инкапсулировать в отдельный компонент. и ещё множество косяков нужно исправить.
alchin пишет:
в БД не записываются данные.
отладка? не, не слышал
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB