2017-06-23 1 views
0

Ich habe ein Registrierungsformular. Nach Erfolg möchte ich set_value Wert entfernen und alle gebuchten Wert aufheben.Klartextdaten nach Erfolg codeigniter mit PHP nicht jquery

view.php

<?php echo validation_errors(); ?> 
<?php if(isset($msg)){ 
    echo $msg; 
} ?> 
<form action="" method="post"> 
    <h5>Username</h5> 
    <input type="text" name="username" value="<?php echo set_value('username'); ?>" size="50" /> 
    <h5>Password</h5> 
    <input type="text" name="password" value="<?php echo set_value('password'); ?>" size="50" /> 
    <div> 
     <input type="submit" value="Submit" /> 
    </div> 
</form> 

-Controller function.php

$this->load->helper(array('form', 'url')); 

$this->load->library('form_validation'); 
$this->form_validation->set_rules('username', 'Username', 'required'); 
$this->form_validation->set_rules('password', 'Password', 'required'); 
if ($this->form_validation->run() == FALSE){ 
     $data->msg='Please fill all field'; 
     $this->load->view('view',$data); 
}else{ 
    $data->msg='success'; 
    unset($_POST); 
    $this->load->view('view',$data); 
} 

Ich versuche unset($_POST) aber nicht funktioniert, versuchen Sie auch

public function clear_field_data() { 
    $this->_field_data = array(); 
    return $this; 
    } 

aber nothi ng funktioniert. Ich benutze codeigniter 3.1.5..Bitte helfen Sie es zu sortieren.

Antwort

0

ich mein Problem gelöst mein Selbst.

view.php

<?php echo validation_errors(); ?> 
<?php if(isset($msg)){ 
echo $msg; 
} ?> 
<form action="" method="post"> 
    <h5>Username</h5> 
    <input type="text" name="username" value="<?php echo set_value('username'); ?>" size="50" /> 
    <h5>Password</h5> 
    <input type="text" name="password" value="<?php echo set_value('password'); ?>" size="50" /> 
    <div> 
    <input type="submit" value="Submit" /> 
    </div> 
</form> 

-Controller function.php

$this->load->helper(array('form', 'url')); 
$this->load->library('form_validation'); 
$this->form_validation->set_rules('username', 'Username', 'required'); 
$this->form_validation->set_rules('password', 'Password', 'required'); 
if ($this->form_validation->run() == FALSE){ 
    $data->msg='Please fill all field'; 
    $this->load->view('view',$data); 
}else{ 
$data->msg='success'; 
$this->form_validation->clear_field_data(); 
$this->load->view('view',$data); 
} 

MY_Form_validation.php

class MY_Form_validation extends CI_Form_validation { 

public function __construct($config) 
{ 
    parent::__construct($config); 
} 

public function clear_field_data() { 
    $_POST = array(); 
    $this->_field_data = array(); 
    return $this; 
} 
} 

Und Problem in der neuen Version CodeIgniter gelöst.

0

Sie können Seite auf Erfolg aktualisieren:

$this->load->helper(array('form', 'url')); 

     $this->load->library('form_validation'); 
     $this->form_validation->set_rules('username', 'Username', 'required'); 
     $this->form_validation->set_rules('password', 'Password', 'required'); 
     if ($this->form_validation->run() == FALSE){ 
       $data['msg']='Please fill all field'; 

     }else{ 
       $data['msg']='success';     
       redirect($_SERVER['REQUEST_URI'], 'refresh');     
     } 
     $this->load->view('view',$data); 
+0

Ich habe versucht, diese 'redirect (current_url(), 'aktualisieren');' weil ich in einem Subdoamin arbeite, aber es zeigt keine Erfolgsmeldung. –

+0

Sitzungsblitz für dasselbe verwenden. '$ this-> Sitzung-> set_flashdata ('Erfolg'," Ihre Nachricht ");' https://www.codeignither.com/user_guide/libraries/sessions.html#flashdata –

+0

das ist keine gute Möglichkeit, meine zu lösen Problem. weil ich 'set_value' Feld leeren möchte. Ich weiß, dass ich umleiten kann und leeres Feld bekommen kann. –