我是 CodeIgniter 的初學者,我正在嘗試將從帖子中獲取的值插入到我的資料庫中,為此我使用了以下代碼:
查看類:
<form method="POST">
<label>Username</label>
<input type="text" name="username"/>
<br/>
<label>Password</label>
<input type="password" name="password"/>
<br/>
<button type="submit" name="login">Sign In</button>
</form>
控制器類:
class Auth extends CI_Controller{
public function index(){
$this->load->model("membership_model");
$username=$this->input->post('username');
$password=$this->input->post('password');
$content='';
return $this->load->view('auth/login');
if(isset($_POST["username"]) && isset($_POST["password"])){
$content['data'] = $this->membership_model->create_user($username,$password);
}
}
型號分類:
class Membership_model extends CI_Model {
public function create_user($username,$password){
$this->db->set('display_name',$username);
$this->db->set('password',$password);
$this->db->insert("table1");
return true;
}
}
但是當我點擊提交時,由于某種原因,我的資料庫中沒有任何資料。
提前致謝。
uj5u.com熱心網友回復:
以下代碼應該可以正常作業。
控制器修改:
<?php
namespace App\Controllers;
use CodeIgniter\Controller;
class Auth extends Controller{
public function index(){
if($this->input->method() == "post") {
$this->load->model("membership_model");
$username=$this->input->post('username');
$password=$this->input->post('password');
$content='';
if(isset($_POST["username"]) && isset($_POST["password"])){
$content['data'] = $this->membership_model->create_user($username,$password);
}
}
return $this->load->view('auth/login');
}
型號修改:
public function create_user($username, $password){
$data = array(
'display_name'=>$username,
'display_name'=>$password
);
$this->db->insert("table1", $data);
return ($this->db->affected_rows() != 1) ? false : true;
}
uj5u.com熱心網友回復:
資料沒有進入您的資料庫,但沒有顯示任何錯誤的原因有很多。其中一些包括:
- 您的表單中沒有 action 屬性,因此頁面只是重新加載。您應該將路由放在處理資料的控制器上,例如“/auth”作為您的操作屬性
- 資料庫有某種限制,阻止資料進入它。例如,您可能不小心
NOT NULL對資料庫中的一個欄位設定了約束。因此記錄不會輸入,因為該欄位為空
uj5u.com熱心網友回復:
提交表單時,您沒有添加任何操作端點。所以它基本上是重繪 頁面。所以你應該做
- 在您的路由 url 中指定操作。
- 如果沒有解決,請檢查資料庫欄位并檢查您傳遞的值是否為空。
uj5u.com熱心網友回復:
我想我看到了問題。您return $this->load->view('auth/login');在將資料插入資料庫的程序之前呼叫。嘗試改變你的
控制器類來自:
class Auth extends CI_Controller{
public function index(){
$this->load->model("membership_model");
$username=$this->input->post('username');
$password=$this->input->post('password');
$content='';
return $this->load->view('auth/login');
if(isset($_POST["username"]) && isset($_POST["password"])){
$content['data'] = $this->membership_model->create_user($username,$password);
}
}
到:
class Auth extends CI_Controller{
public function index(){
$this->load->model("membership_model");
$username=$this->input->post('username');
$password=$this->input->post('password');
$content='';
if(isset($_POST["username"]) && isset($_POST["password"])){
$content['data'] = $this->membership_model->create_user($username,$password);
}
return $this->load->view('auth/login');
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/346475.html
