0

Codeigniter で単純なユーザー ログインを作成しようとしましたが、Post 経由でフォーム データを取得できません。

シンプルなコードのコントローラーを見てください

class User extends CI_Controller{

function login(){


    $this->load->helper('form');
    $this->load->library('form_validation');

    $this->form_validation->set_rules('username', 'username', 'required');
    $this->form_validation->set_rules('password', 'password', 'required');
    $this->form_validation->set_error_delimiters('<em>','</em>');

    if($this->input->post('weiter')){

        if($this->form_validation->run()){
            echo "okay";

        }
    }else{
        $this->load->view("templates/header");  
        $this->load->view("user/login");
        $this->load->view("templates/footer");
    }





}

}

ルーティング構成

 $route['user/login'] = 'user/login';

フォーム:

<?php echo form_open("user/login");?>
<table>

    <tr>
        <td><label for="username">Username</label></td>
        <td><input type="text" name="username"></td>
    </tr>
    <tr>
        <td><label for="password">Passwort</label></td>
        <td><input type="password" name="password"></td>
    </tr>
    <tr>
        <td><input type="submit" name="weiter"></td>
        <td></td>
    </tr>
</table>

Chrome の開発者ツールで見ると、Post は実行されますが、Return Status は 404 です。誰かを助けることができますか?

4

3 に答える 3

0

私が見ることができる問題はあなたのform_open( "user / login");です。適切なURLが返されない場合は、削除してテストし、次のコードを使用して表示します

<form method="post">
<table>

    <tr>
        <td><label for="username">Username</label></td>
        <td><input type="text" name="username"></td>
    </tr>
    <tr>
        <td><label for="password">Passwort</label></td>
        <td><input type="password" name="password"></td>
    </tr>
    <tr>
        <td><input type="submit" name="weiter"></td>
        <td></td>
    </tr>
</table>
</form>

$route['user/login'] = 'user/login';コントローラ名またはメソッド名を値として変更しない場合は、ルーティングルールは不要なので、オプションで削除できます。

于 2012-11-27T15:34:23.050 に答える
0

base_url() を使ってみましたか? .htaccess に問題がある可能性があります。以下のコードを使用してみてください。

  <?php 
    echo form_open(base_url('user/login'));
   ?>
   <table>

<tr>
    <td><label for="username">Username</label></td>
    <td><input type="text" name="username"></td>
</tr>
<tr>
    <td><label for="password">Passwort</label></td>
    <td><input type="password" name="password"></td>
</tr>
<tr>
    <td><input type="submit" name="weiter"></td>
    <td></td>
    </tr>
 </table>
     <?php echo form_close(); 
       ?>
于 2015-04-02T00:09:37.887 に答える
0

さて、問題は解決しました。問題はありませんが、機能します。config.php でプロパティ index_page を '' に設定して明確な URL を取得しましたが、'index.php' を設定するとすべて正常に動作します...

これが正常かどうかはわかりません

于 2012-11-30T11:35:39.443 に答える