簡體   English   中英

無法驗證表單數據或插入數據庫(Codeigniter)

[英]Cant validate form data or insert into database (Codeigniter)

這些天,我正在使用Codeigniter框架。 我正在嘗試使用codeigniter的form_validation庫來驗證我的表單數據。 問題是我無法正常工作。 我不知道問題出在哪里,沒有錯誤正在顯示。

這是我在表單操作中調用控制器核心和函數postad 的視圖頁面

<div class="container table-responsive" id="con1">



    <div class="row" id="h4_subad">
        <div class="col-md-4"><h4>Submit an Ad</h4></div>
    </div>

<form class="form-horizontal" role="form" method="get" action="/core/postad">
   <table id="form_table" class="table-responsive table table-striped" id="table_form">

       <td>Ad Title*</td><td><input class="form-control" name="ad_title" id="ad_title" type="text" placeholder="Enter Title" id="ad_form"></td>

       <tr>  <td>Select Category*</td> <td><select name="ad_form" class="form-control" id="ad_form">
  <option>Electronics</option>
  <option>Mobiles & Accessories</option>
  <option>Computers & Accessories</option>
  <option>Kitchen Applicances</option>
  <option>Clothing</option>
               </select></td></tr>

       <tr><td>Ad Description*</td><td><textarea name="txt_area" id="txt_area" class="form-control" type="text" placeholder="Enter Description" ></textarea></td></tr>

       <tr><td><button type="button" class="btn btn-warning" onclick="core/postad">Submit Ad</button></td></tr>
   </table>

</form>  
</div>

此視圖的控制器

class Core extends CI_Controller {

    public function index() {


        $this->load->view('header1');
        $this->load->view('body');
        $this->load->view('footer');
    }

    public function product() {


        $this->load->view('header1');
        $this->load->view('product');
        $this->load->view('footer');
    }

    public function contact() {


        $this->load->view('header1');
        $this->load->view('contact');
        $this->load->view('footer');
    }

    public function aboutus() {

        $this->load->view('header1');
        $this->load->view('aboutus');
        $this->load->view('footer');
    }
      public function reg() {

        $this->load->view('header1');
        $this->load->view('reg');
        $this->load->view('footer');
        $this->input->get('username');

      }

       public function postad() {

        $this->load->view('header1');
        $this->load->view('postad');
        $this->load->view('footer');

        $this->load->model('insert_model');
   $this->load->library('form_validation');
        $this->form_validation->set_error_delimiters('<div class="error">', '</div>');

//Validating Name Field
$this->form_validation->set_rules('txt_area', 'Text Area', 'required|min_length[5]|max_length[15]');



if ($this->form_validation->run() == FALSE) {
$this->load->view('postad');
}

else {
//Setting values for tabel columns
$data = array(
'description' => $this->input->post('txt_area'),
);
//Transfering data to Model
$this->insert_model->form_insert($data);
$data['message'] = 'Data Inserted Successfully';
//Loading View
$this->load->view('insert_view', $data);
}
}
}

數據庫連接模型

<?php
class insert_model extends CI_Model{
function __construct() {
parent::__construct();
}
function form_insert($data){

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

僅嘗試一個字段txt_area

我不想使用引導程序表單,所以不希望使用codeigniter的表單幫助器。

您需要使用validation_errors(); 在posted.php文件( HTML )中查看您驗證的顯示錯誤消息。

<?php echo validation_errors(); ?>

表格驗證用戶手冊

您應該回顯validation_errors(); 如以下html所示。 有關更多信息,您可以訪問

<?php echo validation_errors(); ?>

    <div class="row" id="h4_subad">
        <div class="col-md-4"><h4>Submit an Ad</h4></div>
    </div>

<form class="form-horizontal" role="form" method="get" action="/core/postad">
   <table id="form_table" class="table-responsive table table-striped" id="table_form">

       <td>Ad Title*</td><td><input class="form-control" name="ad_title" id="ad_title" type="text" placeholder="Enter Title" id="ad_form"></td>

       <tr>  <td>Select Category*</td> <td><select name="ad_form" class="form-control" id="ad_form">
  <option>Electronics</option>
  <option>Mobiles & Accessories</option>
  <option>Computers & Accessories</option>
  <option>Kitchen Applicances</option>
  <option>Clothing</option>
               </select></td></tr>

       <tr><td>Ad Description*</td><td><textarea name="txt_area" id="txt_area" class="form-control" type="text" placeholder="Enter Description" ></textarea></td></tr>

       <tr><td><button type="button" class="btn btn-warning" onclick="core/postad">Submit Ad</button></td></tr>
   </table>

</form>  
</div>

您提交表單的按鈕不正確。 當您嘗試提交表單時,請確保也設置要提交的類型。

<button type="submit">Submit form</button>

要么

<submit>Submit form</submit>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM