J'essaye d'implémenter la validation de forme dans CodeIgniter. S'il vous plaît dites-moi quelle est mon erreur. Mon problème est qu'il redirige toujours vers la page d'erreur, et même si j'ai rempli tous les détails sous forme html, les validations ne fonctionnent pas, les détails ne sont pas entrés dans la base de données. Voir la page CodeValidation de formulaire Codeigniter ne fonctionne pas
<!DOCTYPE html>
<html>
<head>
<title>REGISTRATION</title>
</head>
<body>
<form method="POST" action="<?php echo base_url();?>Test/studentinsert" enctype="multipart/form-data">
<label>Name</label>
<input type="text" name="name" id="name"><br>
<label>Age</label>
<input type="number" name="age" id="age"><br>
<label>Address</label>
<textarea name="address" id="address"></textarea><br>
<label>User Name</label>
<input type="text" name="username" id="username"><br>
<label>Password</label>
<input type="Password" name="Password" id="Password"><br>
<label>Gender</label>
<input type="radio" name="gender" value="male">Male
<input type="radio" name="gender" value="female">Female<br>
<label>Qqualifiction</label>
<input type="text" name="quali" id="quali"><br>
<input type="file" name="certificate" id="certificate"><br>
<input type="submit" name="submit" id="submit">
</form>
<a href="<?php echo base_url()?>Test/login">LOGIN</a>
</body>
</html>
Contrôleur Page Code du
public function studentinsert()
{
//$this->load->helper(array('form', 'url'));
$this->form_validation->set_rules('name', 'Name', 'required');
$this->form_validation->set_rules('age', 'age', 'required');
$this->form_validation->set_rules('address', 'address', 'required');
$this->form_validation->set_rules('username', 'username', 'required');
$this->form_validation->set_rules('password', 'password', 'required');
$this->form_validation->set_rules('gender', 'gender', 'required');
$this->form_validation->set_rules('quali', 'quali', 'required');
$this->form_validation->set_rules('certificate', 'certificate', 'required');
$config['upload_path'] = './uploads/';
$config['allowed_types'] = '*';
//$config['max_size'] = 100;
$this->load->library('upload',$config);
//$this->load->initialize($config);
$this->upload->do_upload('certificate');
$file="uploads/".$this->upload->data('file_name');
$name=$this->input->post('name');
$userid=mt_rand(100000, 999999);
$age=$this->input->post('age');
$address=$this->input->post('address');
$gender=$this->input->post('gender');
$username=$this->input->post('username');
$hashpassword=hash('md5',$this->input->post('Password'));
$quali=$this->input->post('quali');
if ($this->form_validation->run() == FALSE)
{
$this->load->view('registration');
}
else{
$data=array('file'=>$file,'userid'=>$userid,'name'=>$name,'age'=>$age,'address'=>$address,'gender'=>$gender,'quali'=>$quali,);
$logdata=array('userid'=>$userid,'username'=>$username,'Password'=>$hashpassword);
$ok=$this->modeldata->insertdb($data);
$ok1=$this->modeldata->insertlogin($logdata);
if($ok=="success")
{
$this->load->view('registration');
}
}
}
j'avais déjà classe aide chargée (formulaire, URL, la validation du formulaire) dans le contrôleur en fonction de construction et le code est le suivant
function __construct()
{
parent::__construct();
$this->load->model('modeldata');
// Load url helper
$this->load->helper('url');
$this->load->helper('form');
$this->load->library('form_validation');
}
Où sont vos règles de validation de formulaire? Il n'y a pas de magie. La classe de validation de formulaire a besoin de règles à exécuter. –
J'ai ajouté des règles de validation aussi.Mais cela ne fonctionne pas.Les données ne sont pas entrer dans la base de données. –
Est-ce que la valeur de $ data correspond à ce que vous attendez d'elle avant de la transmettre au modèle? Faites print_r ($ data); juste avant $ this-> modeldata-> insertdb ($ data); –