【问题标题】:codeigniter 404 not found when submiting form提交表单时找不到codeigniter 404
【发布时间】:2016-01-23 20:51:31
【问题描述】:

我知道这个问题已经被问了一千次了,但我真的尝试过,但我没有成功纠正这个问题。

所以当我提交注册表时,我收到了 404 错误,但控制器/函数路径是正确的,所以我不明白为什么会出现此错误。

注册表:

<section class='container'>
<?php 
$this->load->helper('form');
$this->load->helper('captcha');

$attributs = array('class' => 'col-md-12 col-xs-12', 'id' => 'inscription');
echo form_open('AjouterUtilisateur/ajouter', $attributs);
echo "Nom <br>".form_input('nom','test')."<br>";
echo "Prénom <br>".form_input('prenom','test')."<br>";
echo "Age <br>".form_input('age','test')."<br>";
echo "Pseudo <br>".form_input('pseudo','test')."<br>";
echo "Email <br>".form_input('email','test')."<br>";
echo "Mot de passe <br>".form_password('mdp','test')."<br>";
echo "Confirmation <br>".form_password('mdpConf','test')."<br>";
$bouton = array(
    'name' => 'button',
    'class' => 'button'
);
echo "<br>".form_submit($bouton, 'Valider !');
echo form_close();
?>
</section>

添加控制器:

class AjouterUtilisateur extends Utilisateur
{
    public function __construct()
    {
        parent::__construct();
        $this->Pseudo=$_POST['pseudo'];
        $this->Email=$_POST['email'];
        $this->Nom=$_POST['nom'];
        $this->Prenom=$_POST['prenom'];
        $this->Age=$_POST['age'];
        $this->MDP=$_POST['mdp'];

        $this->load->database();
    }

    public function __destruct()
    {
        $this->db->close();
    }

    public function ajouter()
    {
        $donnees= array('Nom' => $Nom, 'Prenom' => $Prenom, 'Age' => $Age, 'Pseudo' => $Pseudo,'Email' => $Email, 'MDP' => $MDP,);
        $req = $this->db->insert_string('utilisateurs', $donnees);
        $query = $this->db->query('$req');
        if($query==FALSE)
            redirect(base_url('/pages/err'), 'refresh');
        else
            redirect(base_url('/pages/accueil'), 'refresh');
    }
}

【问题讨论】:

  • AjouterUtilisateur extends Utilisateur 它应该扩展 CI_Controller
  • 'Utilisateur extends CI_Controller' 和 'AjouterUtilisateur extends Utilisateur' 所以我觉得没关系?
  • 我会更改控制器的名称,只有第一个字母大写与文件名和类名 Ajouterutilisateur.php 等区分大小写的代码点火器是
  • 好吧@RemiHirtz也试试看stackoverflow.com/questions/7982187/…
  • 您可能还需要在form_open('index.php/ajouterutilisateur/ajouter);中包含index.php

标签: php forms codeigniter submit http-status-code-404


【解决方案1】:

好的,所以我按照你的所有提示(tahnks ;))知道我有“找不到类 'MY_Utilisateur'”错误,我看不出我做错了什么。

在核心/MY_Utilisateur

class MY_Utilisateur extends CI_Controller{
    protected $ID;
    protected $Pseudo;
    protected $Email;
    protected $Nom;
    protected $Prenom;
    protected $Age;
    protected $MDP;
    protected $DateInscription;

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

在控制器/Ajouterutilisateur.php 中:

class Ajouterutilisateur extends MY_Utilisateur
{
    public function __construct()
    {
        parent::__construct();
        $this->Pseudo=$_POST['pseudo'];
        $this->Email=$_POST['email'];
        $this->Nom=$_POST['nom'];
        $this->Prenom=$_POST['prenom'];
        $this->Age=$_POST['age'];
        $this->MDP=$_POST['mdp'];

        $this->load->database();
    }

    public function __destruct()
    {
        $this->db->close();
    }

    public function ajouter()
    {
        $donnees= array('Nom' => $Nom, 'Prenom' => $Prenom, 'Age' => $Age, 'Pseudo' => $Pseudo,'Email' => $Email, 'MDP' => $MDP,);
        $req = $this->db->insert_string('utilisateurs', $donnees);
        $query = $this->db->query('$req');

        if($query==FALSE)
            redirect(base_url('/pages/err'), 'refresh');
        else
            redirect(base_url('/pages/accueil'), 'refresh');
    }
}

【讨论】:

    猜你喜欢
    • 2014-11-29
    • 2012-10-01
    • 2013-07-28
    • 2017-08-11
    • 2019-01-17
    • 2017-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多