0

アカウントの作成、アカウントの削除、およびユーザーパスワードの変更に使用される管理ページを作成しました。パスワードを変更するためのコーディングに問題があります。以下に、codeigniter を使用して作成したコードを添付します (古いパスワードを変更する必要はありません)。

フロントページにはこれがあります: スタッフ名: 新しいパスワード: パスワードの確認:

コントローラーファイル。

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

    public function index()     
    {       
      $this->load->view('view-admin'); 
    } 

    public function chgPassword()       
    {   
        $query => $this->modeluser->changpasswrd();
        $this->load->view('view-chg-password');
        $this->view-chg-password->set_rules(‘npassword’,'New Password’,'required|trim’);
        $this->view-chg-password->set_rules(‘cpassword’,
                           'Confirm Password’,'required|trim|matches[npassword]‘);

    $this->session->set_flashdata('message', '<span class="label label-info">Password changed!</span> ');
    redirect(base_url().'admin/chgpassword');       
    }
}

モデルファイル。

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

class ModelUser extends CI_Model {

public function changpasswrd($nama_staf, $password) {
 $this->db->set('password', $password);
  $this->db->where('nama-staf', $nama_staf);

  $this->db->update('akaun');
  return $this->db->affected_rows() > 0; }


function DeleteUser($options = array()) {
 // required values
 if(!$this->_required(array('userId'), $options)) return false;

 $this->db->where('userId', $options['userId']);
 $this->db->delete('users'); }

plsはこれで私を助けて..

4

1 に答える 1

2

次のようにform_validationを使用する必要があります

$this->form_validation->set_rules('npassword','New Password','required|trim');
$this->form_validation->set_rules('cpassword','Confirm
Password','required|trim|matches[npassword]');
if($this->form_validation->run() == FALSE){
    $this->session->set_flashdata('message', 
            '<span class="label label-info">Error! Password not changed!</span>');
    redirect(base_url().'admin/chgpassword');      
}
else{
    $query => $this->ModelUser->changpasswrd($this->input->post('nama-staf'),
                                              $this->input->post('npassword'));
    $this->session->set_flashdata('message', 
                   '<span class="label label-info">Password changed!</span>');
    redirect(base_url().'admin/chgpassword');
}

代わりに

$this->view-chg-password->set_rules('npassword','New Password','required|trim');
$this->view-chg-password->set_rules('cpassword','Confirm Password',
                      'required|trim|matches[npassword]');

construct functionあなたのcontrollerようなものを追加して、

public function __construct(){
    parent::__construct();
    $this->load->model('ModelUser');
}

フォーム検証を読む()

于 2013-08-06T04:41:05.540 に答える