2016-01-19 1 views
1

Прежде всего, я новичок здесь, и я действительно не знаю, как использовать codeigniter, и теперь я запутался. Поэтому в настоящее время я пытаюсь добавить данные в базу данных с помощью codeigniter. Когда я нажимаю кнопку «Отправить», ничего не отображается, поэтому я проверил мою базу данных и никаких записей не было добавлено. Можете ли вы, ребята, помочь мне?Добавьте пользователей с помощью CodeIgniter

Контроллер:

<?php 
defined('BASEPATH') OR exit('No direct script access allowed'); 

class M_users extends CI_Controller { 

     public function index() 
     { 
      if ($this->session->userdata('is_logged_in')){ 
       $this->load->helper('breadcrumb_helper'); 
      $this->load->view('imports/head'); 
      $this->load->view('header'); 
      $this->load->view('musers'); 
      $this->load->view('imports/footer'); 
      } else { 
       redirect('home/restricted'); 
      } 
     } 


     /* display users */ 
     public function getuser(){ 
      $this->load->model('model_emp'); 
      $this->data['emp'] = $this->model_emp->get_allus(); 
      $this->load->view('getuser',$this->data); 
     } 


     /* add users */ 
     public function adduser(){ 
      $this->load->library('form_validation'); 
      $this->load->helper('security'); 

      $this->form_validation->set_rules('username','Username','required|min_length[4]|trim|callback_users_exist|xss_clean'); 
      $this->form_validation->set_rules('password','Password','trim|required|min_length[6]|max_length[50]|matches[password_conf]|md5|trim|xss_clean'); 
      $this->form_validation->set_rules('password_conf','Confirmed Password','trim|required|min_length[6]|max_length[50]|matches[password_conf]|md5|trim|xss_clean'); 
      $this->form_validation->set_rules('firstname','Firstname','trim|required|xss_clean'); 
      $this->form_validation->set_rules('middlename','Middlename','trim|required|xss_clean'); 
      $this->form_validation->set_rules('lastname','Lastname','trim|required|xss_clean'); 
      $this->form_validation->set_rules('screenname','Screenname','trim|required|xss_clean'); 
      $this->form_validation->set_rules('gender','Gender','trim|required'); 
      $this->form_validation->set_rules('position','Position','trim|required'); 

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

       $this->load->model('model_emp'); 
       $result=$this->model_emp->addusers(); 

       if(!$result){ 
        echo mysqli_error($result); 
       }else{ 
        echo "<div class='alert alert-success alert-dismissable'> 
        <button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×</button>Successfully Added</div>"; 
       } 
      } 
      echo validation_errors("<div class='alert alert-danger alert-dismissable'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×</button>","</div>"); 
     } 

     /*edit assets */ 


    /* users exists */ 
     public function users_exists() 
     { 
      $this->load->model('model_emp'); 
      if ($this->model_emp->users_exists()) 
      { 
       return true; 
      } else 
      { 
       $this->form_validation->set_message('users_exists','User Already Existed.'); 
       return false; 
      } 
      } 
} 

Модель:

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 
class Model_emp extends CI_Model{ 

    function __construct() { 
     $this->postTable = 'posts'; 
    } 

public function get_allus(){ 

      $this->db->select('*'); 
      $this->db->from('employee'); 
      $query = $this->db->get(); 
      if($query->num_rows() != 0) 
      { 
       return $query->result_array(); 
      } 
      else 
      { 
       return false; 
      } 

    } 


    public function addusers(){ 
    $array=array('Username'=>$_POST['Username'],'email'=>$_POST['email'],'password'=>$_POST['Password'],'emp_name'=>$_POST['emp_name'], 
        ,'position'=>$_POST['Position'],'emp_pic'=>$_POST['emp_pic']); 
    $this->db->set($array); 
    $query=$this->db->insert('employee'); 
     return $query; 
    } 

    public function users_exists(){ 
     $this->db->where('Username', $this->input->post('Username')); 
     $query = $this->db->get('employee'); 
     if($query->num_rows() == 1){ 
      return false; 
     } else { 
      return true; 
     } 
    } 

Вид:

 <div class="content-wrapper"> 
     <!-- Content Header (Page header) --> 
     <section class="content-header"> 
      <h1> 
      <i class="fa fa-users fa-fw"></i>Manage Users 

      </h1> 


      <?php 
      echo create_breadcrumb(); 
      ?> 


     </section> 

<!-- top --> 
<section class="content"> 
<div class="box box-info"> 
       <div class="box-header with-border"> 



          <hr> 


     <h2 class="sub-header">Employees</h2> 
        <div class="pull-right box-tools"> 
         <button class="btn btn-default btn-sm" data-toggle="modal" data-target=".bs-addusers-modal-lg"> 
         <span class="glyphicon glyphicon-plus" aria-hidden="true"></span> 
         </button> 
         <button class="btn btn-default btn-sm" data-toggle="modal" data-target=".bs-editusers-modal-lg"> 
         <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span> 
         </button> 
         <button class="btn btn-default btn-sm" data-toggle="modal" data-target=".bs-deleteusers-modal-lg"> 
         <span class="glyphicon glyphicon-remove" aria-hidden="true"></span> 
         </button> 
        </div> 






</section>    
<?php $this->load->view('modals/addusers'); ?> 
</div> 

Modal:

<div id="add_usersodal"class="modal fade bs-addusers-modal-lg"> 
       <div class="modal-dialog"> 
       <div class="modal-content"> 
        <div class="modal-header"> 
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> 
        <h3 class="modal-title">Add User</h3> 
        <hr> 
        </div> 
        <div class="modal-body"> 
        <!-- result message --> 
        <center><div style="font-size:10px;width:50%;" id="info"></div></center> 

         <div class="form-group"> 
          <div class="col-md-15"> 
        <!--user form --> 
        <div id="adduser" class="add_user_group">   
         <form id="addusers" method="post" action=""> 
          <div class="form-group"> 




        <div class="form-group"> 
        <input type="text" class="form-control" placeholder="Username*" name="Username" required/> 
        </div> 
        <div class="form-group"> 
        <input type="text" class="form-control" placeholder="Email*" name="Email" required/> 
        </div> 
        <div class="form-group"> 
        <input type="password" class="form-control" placeholder="Password*" name="Password" required/> 
        </div> 
        <div class="form-group"> 
        <input type="password" class="form-control" placeholder="Confirmed Password*" name="password_conf" required/> 
        </div> 
        <div class="form-group"> 
        <input type="text" class="form-control" placeholder="First Name*" name="Firstname" required/> 
        </div> 
        <div class="form-group"> 
        <input type="text" class="form-control" placeholder="Middle Name*" name="Middlename" required/> 
        </div> 
        <div class="form-group"> 
        <input type="text" class="form-control" placeholder="Last Name*" name="Lastname" required> 
        </div> 
        <div class="form-group"> 
        <input type="text" class="form-control" placeholder="Screen Name" name="Screenname"> 
        </div> 
        <div class="form-group"> 
         <label>Gender*</label> 
         <select name="Gender" required> 
         <option value="">Select..</option> 
         <option value="M">Male</option> 
         <option value="F">Female</option> 
        </select> 


         <label>Position*</label> 
         <select name="Position" id="sel_user" required> 
         <option value="">Select..</option> 
         <option value="option1">CITO</option> 
         <option value="option2">IT Personnel</option> 
         <option value="option3">Regular</option> 
         </select> 
        </div> 
        </div> 
         </div> 
        <div class="col-md-12" style="margin-top:2%"> 
          <button class="btn btn-primary">Submit</button> 
          </div> 

          </div> 
         </form> 

         </div> 

         </div> 

        <div class="modal-footer"> 
        <button type="button" data-dismiss="modal">Close</button> 
        </div> 
       </div><!-- /.modal-content --> 
       </div><!-- /.modal-dialog --> 
      </div> 
+1

Только после соответствующего кода, а не все. и, пожалуйста, добавьте сообщение об ошибке или ответ, который вы получаете. –

+0

Создать представление registration_form.php добавить html-форму action = " " в вашем контроллере/методе получить значения post с помощью $ this-> input-> post ('form-field-name') и присвоить значение post свойствам модели и создать метод сохранения в модели, который будет сохраните свойства в базе данных. , что является основной логикой, я надеюсь, что это вам поможет. – MasoodUrRehman

+0

@MasoodRehman большое вам спасибо. Я это сделаю, если это сработает :) – elj

ответ

0

сделать некоторые изменения в AddUser() в контроллере,

public function adduser(){ 
 
    $this->load->library('form_validation'); 
 
    $this->load->helper('security'); 
 
    $this->form_validation->set_rules('username','Username','required|min_length[4]|trim|callback_users_exist|xss_clean'); 
 
      $this->form_validation->set_rules('password','Password','trim|required|min_length[6]|max_length[50]|matches[password_conf]|md5|trim|xss_clean'); 
 
      $this->form_validation->set_rules('password_conf','Confirmed Password','trim|required|min_length[6]|max_length[50]|matches[password_conf]|md5|trim|xss_clean'); 
 
      $this->form_validation->set_rules('firstname','Firstname','trim|required|xss_clean'); 
 
      $this->form_validation->set_rules('middlename','Middlename','trim|required|xss_clean'); 
 
      $this->form_validation->set_rules('lastname','Lastname','trim|required|xss_clean'); 
 
      $this->form_validation->set_rules('screenname','Screenname','trim|required|xss_clean'); 
 
      $this->form_validation->set_rules('gender','Gender','trim|required'); 
 
      $this->form_validation->set_rules('position','Position','trim|required'); 
 

 
if($this->form_validation->run()){ 
 
    $this->load->model('model_emp'); 
 
    $data = array(
 
       'username' =>$this->input->post('Username'), 
 
       'password' =>$this->input->post('Password'), 
 
       'firstname' =>$this->input->post('Firstname'), 
 
       'middlename' =>$this->input->post('Middlename'), 
 
       'lastname' =>$this->input->post('Lastname'), 
 
       'screenname' =>$this->input->post('Screenname'), 
 
       'gender'  =>$this->input->post('Gender'), 
 
       'position' =>$this->input->post('Position'), 
 
       ); 
 

 
    $result=$this->model_emp->addusers($data); 
 
    if(!$result){ 
 
        echo mysqli_error($result); 
 
       }else{ 
 
        echo "<div class='alert alert-success alert-dismissable'> 
 
        <button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×</button>Successfully Added</div>"; 
 
       } 
 
      } 
 
      echo validation_errors("<div class='alert alert-danger alert-dismissable'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×</button>","</div>"); 
 
     }

И при изменении модели functi на к,

public function addusers($data=null){  
 
    if(!empty($data)){ 
 
     $this->db->insert('table_name',$data); 
 
     $ins_id = $this->db->insert_id(); 
 
     return $ins_id; 
 
    } else { 
 
     return false; 
 
    } 
 
}

0

Вот пример кода, из которого вы можете получить представление, контроллер управляет вашими логическими моделями приложений, а работа с базой данных и просмотр - это ваши веб-страницы.

Контроллер: user.php

function registration() 
{ 
    $this->load->library('form_validation'); 
     $this->form_validation->set_rules(array(
      array(
       'field' => 'username', 
       'label' => 'Username', 
       'rules' => 'trim|required' 
      ), 
      array(
       'field' => 'password', 
       'label' => 'Password', 
       'rules' => 'trim|required' 
      ) 
     )); 

     if(!$this->form_validation->run()) 
     { 
      $this->load->view('registration_view'); 
     } 
     else 
     { 
      $this->load->model('user_model'); 
      $user = new users_model(); 
      $user->username = $this->input->post('username'); 
      $user->password = $this->input->post('password'); 
      $user->save(); 
     } 
} 

вид: registraion_form.php

<form action="<?php echo site_url('user/registration'); ?>" method="post"> 
<input type="text" name="username" value="<?php echo set_value('username'); ?>" /> 
<input type="password" name="password" value="<?php echo set_value('password'); ?>" /> 
<input type="submit" name="submit" value="submit"/> 
</form> 

Модель: user_model.php

public $username; 
public $password; 

public function save() 
{ 
    $data = array(
    'username' => $this->username, 
    'password' => $this->password 
    ); 
    $this->db->insert('table-name', $data); 
} 
0

Если im right, это означает, что ваш контроллер должен содержать значения post из представления.

$username = $this->input->post('Username') 

Вы должны включать все поля, так что работа формы проверки, в противном случае она выдаст ошибку (которая может быть пустой страницей).

Итак, вместо того, что вы сделали с вашей моделью. это должно выглядеть примерно так вместо того, чтобы,

public function addusers($username, $email, $password, $emp_name, $position, $emp_pic){ 
    $data = array(
    'username' => $username , 
    'email' => $email , 
    'password' => $password, 
    'emp_name' => $emp_name, 
    'position' => $position, 
    'emp_pic' => path_to_your_employee_pic 
); 

$this->db->insert('employee', $data); 
} 

с аргументами, переданными из контроллера

$this->model_emp->addusers($username, $email, $password, $emp_name, $position, $emp_pic); 

 Смежные вопросы

  • Нет связанных вопросов^_^