2015-05-20 5 views
0

Мне хотелось бы пошаговое руководство по созданию страницы профиля для иона auth codeigniter.Страница профиля Ion Auth

Когда пользователь вошел в систему по ссылке на ссылку «Профиль пользователя», он открывает страницу профиля пользователя и получает все данные о пользователе в форме, чтобы пользователь мог обновить. Я бы это сделал для пользователей admin.

Спасибо :)

+0

Прочитайте документацию CodeIgniter и следуйте их встроенному руководству по использованию рамки. В противном случае вы серьезно не ожидаете, что мы напишем учебник, в котором вы узнаете, как использовать CodeIgniter? – Sparky

ответ

2

я в конечном итоге делает это таким образом:

ниже контроллера:

<?php 

определен ('BasePath') OR выход ('Нет прямого доступа сценарий не позволил');

Класс пользователя расширяет MY_Controller {

function __construct() { 
    parent::__construct(); 
    $this->load->library('ion_auth'); 
} 

public function index() { 

} 

public function login() { 

    if ($this->input->post()) { 
     $this->load->library('form_validation'); 
     $this->form_validation->set_rules('identity', 'Identity', 'required'); 
     $this->form_validation->set_rules('password', 'Password', 'required'); 
     $this->form_validation->set_rules('remember', 'Remember me', 'integer'); 
     if ($this->form_validation->run() === TRUE) { 
      $remember = (bool) $this->input->post('remember'); 
      if ($this->ion_auth->login($this->input->post('identity'), $this->input->post('password'), $remember)) { 
       redirect('dashboard', 'refresh'); 
      } else { 
       $this->session->set_flashdata('message', $this->ion_auth->errors()); 
       redirect('admin/user/login', 'refresh'); 
      } 
     } 
    } 
    $data['main_content'] = 'admin/login'; 
    $this->load->view('includes/template', $data); 
} 

public function logout() { 
    $this->ion_auth->logout(); 
    redirect('admin/user/login', 'refresh'); 
} 

public function profile() { 
    $user = $this->ion_auth->user()->row(); 
    //print_r($user); 
    $this->data['user'] = $user; 
    //var_dump($user); 
    $this->load->library('form_validation'); 
    $this->form_validation->set_rules('first_name', 'First name', 'trim'); 
    $this->form_validation->set_rules('last_name', 'Last name', 'trim'); 
    $this->form_validation->set_rules('company', 'Company', 'trim'); 
    $this->form_validation->set_rules('phone', 'Phone', 'trim'); 

    if ($this->form_validation->run() === FALSE) { 

     $this->load->view('admin/edit_profile', $this->data); 

    } else { 
     $data = array(
      'first_name' => $this->input->post('first_name'), 
      'last_name' => $this->input->post('last_name'), 
      'company' => $this->input->post('company'), 
      'phone' => $this->input->post('phone') 
     ); 
     if (strlen($this->input->post('password')) >= 6) 
      $new_data['password'] = $this->input->post('password'); 
     $this->ion_auth->update($user->id, $data); 


     redirect('dashboard', 'refresh'); 
    } 

    //$this->load->view('admin/edit_profile', $data); 

} 

}

тогда вид:

<h1><?php echo lang('edit_user_heading');?></h1> 

<p> 
     <?php echo lang('edit_user_fname_label', 'first_name');?> <br /> 
     <?php echo form_input($first_name);?> 
    </p> 

    <p> 
     <?php echo lang('edit_user_lname_label', 'last_name');?> <br /> 
     <?php echo form_input($last_name);?> 
    </p> 

    <p> 
     <?php echo lang('edit_user_company_label', 'company');?> <br /> 
     <?php echo form_input($company);?> 
    </p> 

    <p> 
     <?php echo lang('edit_user_phone_label', 'phone');?> <br /> 
     <?php echo form_input($phone);?> 
    </p> 

    <p> 
     <?php echo lang('edit_user_password_label', 'password');?> <br /> 
     <?php echo form_input($password);?> 
    </p> 

    <p> 
     <?php echo lang('edit_user_password_confirm_label', 'password_confirm');?><br /> 
     <?php echo form_input($password_confirm);?> 
    </p> 

    <?php if ($this->ion_auth->is_admin()): ?> 

     <h3><?php echo lang('edit_user_groups_heading');?></h3> 
     <?php foreach ($groups as $group):?> 
      <label class="checkbox"> 
      <?php 
       $gID=$group['id']; 
       $checked = null; 
       $item = null; 
       foreach($currentGroups as $grp) { 
        if ($gID == $grp->id) { 
         $checked= ' checked="checked"'; 
        break; 
        } 
       } 
      ?> 
      <input type="checkbox" name="groups[]" value="<?php echo $group['id'];?>"<?php echo $checked;?>> 
      <?php echo htmlspecialchars($group['name'],ENT_QUOTES,'UTF-8');?> 
      </label> 
     <?php endforeach?> 

    <?php endif ?> 

    <?php echo form_hidden('id', $user->id);?> 
    <?php echo form_hidden($csrf); ?> 

    <p><?php echo form_submit('submit', lang('edit_user_submit_btn'));?></p>