2016-11-13 12 views
0

私はユーチューブTutorial codeigniter - Insertからチュートリアルに従うが、、 イムは
2. CodeIgniterのエラーコードから暗号化ライブラリを使用する際に使用した場合Imは私のブラウザのための私のコントローラファイル内でこのエラーを取得暗号化。コールCI_Encrypt :: SHA1()

$paramUsu['clave'] = $this->encrypt->sha1($this->input->post('txtClave')); 

しかし、暗号化せずにそのまま渡すと正常に動作します。

$paramUsu['clave'] = $this->input->post('txtClave'); 


はImが私のブラウザでは、このエラーを取得:

ここ

Fatal error: Call to undefined method CI_Encrypt::sha1() in C:\xampp\htdocs\TRAINING\tutorialCI\application\controllers\cpersona.php on line 31
A PHP Error was encountered Severity: Error
Message: Call to undefined method CI_Encrypt::sha1()
Filename: controllers/cpersona.php
Line Number: 31
Backtrace:

は私のコントローラのためのコードです:

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

class Cpersona extends CI_Controller { 

    function __construct() 
    { 
     parent::__construct(); 
       //call model 
       $this->load->model('mpersona'); 
       $this->load->model('musuario'); 
       //call encryption library for password at 'clave' textfield 
       $this->load->library('encrypt'); 
    } 

    public function index(){ 
     $this->load->view('persona/vpersona'); 
    } 

    public function guardar(){ 
     //persona 
     $param['dni'] = $this->input->post('txtDNI'); 
     $param['nombre'] = $this->input->post('txtNombre'); 
     $param['appaterno'] = $this->input->post('txtApPaterno'); 
     $param['apmaterno'] = $this->input->post('txtApMaterno'); 
     $param['email'] = $this->input->post('txtEmail'); 
     $param['fecnac'] = $this->input->post('datFecNac'); 
     //usuario 
     $paramUsu['nomUsuario'] = $this->input->post('txtUsuario'); 
     //$paramUsu['clave'] = $this->input->post('txtClave'); 
     $paramUsu['clave'] = $this->encrypt->sha1($this->input->post('txtClave')); 

     //call function name in model 
     //call function variable '$param' 
     //$this->mpersona->guardar($param); 

     $lastId = $this->mpersona->guardar($param); 

     //check if $lastId is filled in persona table 
     if ($lastId > 0){ 
      $paramUsu['idPersona'] = $lastId; 
      //$paramUsu value will be go also in usuario model 
      $this->musuario->guardarUsuario($paramUsu); 
     } 
    } 
} 
+0

私は、sha1がCI 3.xのいくつかの段階で削除されたので、あなたはCI 2.xを使用していないと推測しています。 – TimBrownlaw

+0

私はこの人のチュートリアルでは、上記の例はフォームの取り扱いに関しては "推奨されていない"ので、フォームバリデーションの使い方を示してくれることを願っています。加えて、彼はちょうど楽しみのための暗号化に投げ込まれたようだ...しかし、私は彼が何を言っているのか分からない。 – TimBrownlaw

+0

私はCI 2.2.6を使用しています。私はちょうどこのフレームワークに精通しています。しかし、この場合、このコントローラファイルからパスワードを暗号化する方法がありますか?ありがとうございました。 –

答えて

0

その行わ
私はちょうどこのようにそれを行います。

$ param ['clave'] = sha1($ this-> input-> post( 'txtClave'));