javascript - 如何检索单选按钮的值并在 codeigniter 中插入数据库?

标签 javascript php html codeigniter-2

我有一个名为 feedback.php 的表单,其中包含两个问题。我想撤回所选单选按钮的值并在代码点火器中插入数据库。表名是“反馈”,我在其中存储这些值。 表单的html代码在这里

<form role="form" method="post" name ="your_form" action="<?php echo base_url();?>/index.php/feedback_model/index" >
           <span class="badge">1</span></a> Is your complain solved ?  
          <div class="form-group">
            <div class="radio">
          <label><input type="radio" name="Question1"          
value="yes">Yes</label>
            </div>
            <div class="radio">
              <label><input type="radio" name="Question1" value="no">NO</label>
            </div>
        </div>  


         <span class="badge">2</span></a> How easy was it to complain to us?  
          <div class="form-group">
            <div class="radio">
              <label><input type="radio" name="Question2" value='excellent'>Excellent</label>
            </div>
            <div class="radio">
                <label><input type="radio" name="Question2" value="good">Good </label>
            </div>
            <div class="radio">
                <label><input type="radio" name="Question2" value="bad">Bad</label>
            </div>
            <div class="radio">
              <label><input type="radio" name="Question2" value="verybad">Very Bad</label>
            </div>
        </div>  
    </form>

在 Controller 中,我有带有这段代码的 feedback.php

 <?php
class feedback_model extends CI_Controller {
function __construct() {
parent::__construct();
$this->load->model('feedback_model');
}
function index()
{
// Including Validation Library



// Setting Values For Tabel Columns
$data = array(
'complain_id' => $this->input->post('complain_id'),
'email' => $this->input->post('email'),
'response1' => $this->input->post('Qustion1'),
 'response1' => $this->input->post('Question2'),
 'response1' => $this->input->post('Question3'),
 'response1' => $this->input->post('Question4')

);
// Transfering Data To Model
$this->insert_model->form_insert($data);
// Loading View
$this->load->view('feedback');
}
}
?>

在模型中我有带有这段代码的 feedback_model.php。

<?php
class feedback_model extends CI_Model{
function __construct() {
parent::__construct();
}
function form_insert($data){
// Inserting in Table(feedback) of Database(college)
$this->db->insert('feedback', $data);
}
}
?>

最佳答案

我创造了和你一样的东西

首先您需要正确设置您的项目 像数据库连接,CI 的自动加载助手

这是我的 feedback.php Controller

<?php

class feedback extends CI_Controller {

    function __construct() {

        parent::__construct();

        $this->load->model('feedback_model');
    }

    function index() {
        
        // Loading View
        $this->load->view('feedback');
    }

    function submit() {

        // check for method
        if ($this->input->post('REQUEST_METHOD') == 'POST') {

            // Including Validation Library
            // Setting Values For Tabel Columns
            $data = array(
                'response1' => $this->input->post('Qustion1'),
                'response2' => $this->input->post('Question2')
            );

            // Transfering Data To Model
            $this->feedback_model->form_insert($data);
        }

        
    }
}

这是我的 feedback_model.php 与你的没什么不同

<?php

class feedback_model extends CI_Model{

    function form_insert($data){
        // Inserting in Table(feedback) of Database(college)
        $this->db->insert('feedback', $data);
    }
}

这里是 View ,在文件夹views下命名为feedback.php

<html>
  <head>
    <title></title>
  </head>
  <body>
    <form role="form" method="POST" action="feedback/submit">
      <span class="badge">1</span></a> Is your complain solved ?
      <div class="form-group">
        <div class="radio">
          <label><input type="radio" name="Question1"
          value="yes">Yes</label>
        </div>
        <div class="radio">
          <label><input type="radio" name="Question1" value="no">NO</label>
        </div>
      </div>
      <span class="badge">2</span></a> How easy was it to complain to us?
      <div class="form-group">
        <div class="radio">
          <label><input type="radio" name="Question2" value='excellent'>Excellent</label>
        </div>
        <div class="radio">
          <label><input type="radio" name="Question2" value="good">Good </label>
        </div>
        <div class="radio">
          <label><input type="radio" name="Question2" value="bad">Bad</label>
        </div>
        <div class="radio">
          <label><input type="radio" name="Question2" value="verybad">Very Bad</label>
        </div>
      </div>
      <div class="form-group">
        <input type="submit" value="submit" name="submit">
      </div>
    </form>
  </body>
</html>

在 View 中我添加了一个属性

method="POST" and action="feedback/submit"

method 表示发送到服务器的请求类型 Action 是你提交的表单

所以在这种情况下,表单将提交给 Controller 反馈,其中 方法是提交

从提交方法

我检查请求方法是否为post

获取post数据即

Question1

Question2

并将其传递给反馈模型

$data = array(
    'response1' => $this->input->post('Qustion1'),
    'response2' => $this->input->post('Question2')
);

// Transfering Data To Model
$this->feedback_model->form_insert($data);

您可以根据需要修改它。

还有一件重要的事情是 MVC 的命名约定

由于您有一个 Controller feedback_model.php 然后再次为模型创建了一个 feedback_model.php,这令人困惑。

希望对你有帮助

关于javascript - 如何检索单选按钮的值并在 codeigniter 中插入数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30210668/

相关文章:

javascript - 如何使用js增加onclick事件的积分?

javascript - safari 中未定义的 audio.canPlayType

javascript - 如何使用 Vue.Js 在 Android 和 iOS 上打开前置摄像头并拍照?

javascript - 垂直滚动但删除滚动条

javascript - jQuery 可排序添加额外信息

php - mysqli_query不起作用。缺少连接?

PHP Socket 帮助理解

javascript - 正则表达式获取两个字符之间的文本?

javascript - 关于 Nodejs 模块的错误

javascript - 检查脚本是否已经加载。如果没有,异步加载