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 :: Авторизация на CodeIgniter

 PHP.SU

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


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

> Описание: Прошу помоши
vixa
Отправлено: 24 Марта, 2012 - 02:26:55
Post Id



Новичок


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


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




Помогите пожалуйста доделать авторизацию на CodeIgniter

Имеется Контроллер
в нем я написал проверку на валидатность логина
PHP:
скопировать код в буфер обмена
  1. function index()
  2.     {
  3.         $main['login'] = '';
  4.         $main['infotable'] = $this->ci_model->online();
  5.         $main['server_status'] = $this->ci_model->server_status();
  6.         if(isset($_POST['enter']))
  7.         {
  8.             $this->form_validation->set_rules($this->ci_model->login);
  9.             if($this->form_validation->run() == true)
  10.             {
  11.                 $login = $this->input->post('login');
  12.                 $pass = $this->input->post('pass');
  13.                 if($this->ci_model->logpass('userid','login',$login) == $login)
  14.                 {
  15.                     if($this->ci_model->logpass('user_pass','login',$pass) == $pass)
  16.                     {
  17.                         $_SESSION['login'] = $login;
  18.                     }
  19.                     else
  20.                     {
  21.                         $main['content'] = "Password is not correct";
  22.                     }
  23.                 }
  24.                 else
  25.                 {
  26.                     $main['content'] = 'Username does not exist';
  27.                 }
  28.             }
  29.         }
  30.         $this->display_lib->user_page('form/login',$main);
  31.        
  32.     }


Далее идет Модель
В ней я написал правила для формы и несколько функций вот они
PHP:
скопировать код в буфер обмена
  1. public $login = array(array('field' => 'login','label' => 'Login','rules' => 'trim|max_lenght[30]|required|encode_php_tags'),
  2.     array('field' => 'pass','label' => 'Password','rules' => 'trim|max_lenght[40]|required|encode_php_tags'));

PHP:
скопировать код в буфер обмена
  1. function logpass($select,$table,$post)
  2.     {
  3.         $this->db->select($select);
  4.         $this->db->where($select,$post);
  5.         $query = $this->db->get($table);
  6.         if($query->num_rows() > 0)
  7.         {
  8.             $row = $query->row_array();
  9.             return $row[$select];
  10.         }
  11.         else
  12.         {
  13.             return false;
  14.         }
  15.     }


Потом идет вид

PHP:
скопировать код в буфер обмена
  1.        <div class="line"></div>
  2.        
  3.         <div class="form">
  4.         <div id="form_top"></div>
  5.         <div id="form">
  6.         <?PHP if(!isset($_SESSION['login'])):?>
  7.         <form action="<?=base_url();?>login" method="post">
  8.         <input name="login" type="text" value="<?=set_value('login');?>" id="in" autocomplete="off" />
  9.         <input name="pass" type="password" value="<?=set_value('pass');?>" id="in" />
  10.         <input name="enter" type="submit" value="" id="ok" />
  11.         </form>
  12.         <a href="<?=base_url()?>register"><img src="<?=base_url();?>img/register_b.png" /></a>
  13.         <center><a style="color: #fff;"><?=form_error('login');?></a></center>
  14.         <center><a style="color: #fff;"><?=form_error('pass');?></a></center>
  15.         <center><a style="color: #fff;"><?=$login;?></a></center>
  16.         </div>
  17.         <div id="form_bottom"></div>
  18.         </div>
  19.         <?PHP else:?>
  20.         <form action="<?=base_url();?>logout" method="post">
  21.         <center><input name="logout" type="submit" value="Exit" id="" /></center>
  22.         </form>
  23.         <center><a style="color: #fff;"><?=$login;?></a></center>
  24.         </div>
  25.         <div id="form_bottom"></div>
  26.         </div>
  27.         <?PHP endif;?>
  28.         <div class="info">
  29.         <div id="info_top"></div>
  30.         <div id="info">
  31.         <?=$server_status;?>
  32.         <p id="online">Online: <strong><?=$infotable;?></strong> people</p>
  33.         </div>
  34.         <div id="info_bottom"></div>
  35.         </div>
  36.     </div>
  37.     <div id="body_bottom"></div>
  38.    
  39.     <div class="footer"></div>
  40.     </div>
  41.    
  42.    
  43. </div>
  44. </body>
  45. </html>
  46.  



Короче надо продолжить цепочку построения авторизации в контроллере
1) Создали сесии и куки
2)В моделе написать функцию для проверки ну чот тип такого
PHP:
скопировать код в буфер обмена
  1.  
  2. function scan($session){
  3. $this->db->query("SELECT `userid`FROM `login` WHERE `userid` = '$session'");
  4. $query = $this->db->get();
  5. if($query->num_rows()>0){
  6. $row = $query->row_array();
  7. return $row['userid'];
  8. }
  9. else
  10. {
  11. return FALSE;
  12. }
  13. }

3) В виде сделать проверку
PHP:
скопировать код в буфер обмена
  1. if(scan($_SESSION['login]) == true)
  2. {
  3. echo "<form action='logout' method='post'>
  4. <input type='submit' name='logout' val='exit' />
  5. </form>
  6. $NickName";
  7. }
  8. else
  9. {
  10. echo '<form action="<?=base_url();?>login" method="post">
  11.         <input name="login" type="text" value="".set_value('login')."" id="in" autocomplete="off" />
  12.         <input name="pass" type="password" value="".set_value('pass')."" id="in" />
  13.         <input name="enter" type="submit" value="" id="ok" />
  14.         </form>
  15.         <a href="".base_url()."register"><img src="".base_url()."img/register_b.png" /></a>
  16.         <center><a style="color: #fff;">form_error('login')</a></center>
  17.         <center><a style="color: #fff;">form_error('pass')</a></center>
  18.         <center><a style="color: #fff;">$login</a></center>
  19.         </div>
  20.         <div id="form_bottom"></div>
  21.         </div>';
  22. }
  23.  


Чтото в таком плане я думаю надо сделать но в этой идее где то есть подвох
Я пытался ставить такой скрипт но результат плачевный помогите переделать на правильно рабочий скрипт!


-----
Vixa
 
 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