0

login.php コントローラーに単純な process_login 関数を作成しました。コード:

<?php

Class Login extends Controller {

var $title = 'Login';

function __construct() {
    parent::__construct();
    $this->load->model('Login_Model');
}

function index() {
    $profile['_profile'] = $this->xProfile_Model->GetProfile();
    $this->load->view('login', array('title' => $this->title, '_profile' => $profile['_profile']));
}

function process_form() {
    $ret['command'] = "login process";
    if($this->input->post('username') == 'admin' && md5($this->input->post('pwd')) == 'e6d8b61d43b5a1c5e4727e92351681f6') {
        //EMERGENCY ONLY
        $data['id'] = '1';
        $data['name'] = 'admin';
        $data['group_id'] = '1';
        $this->session->set_userdata($data);
        $ret['msg'] = $this->lang->line('msg_success') . ', ' . $this->lang->line('msg_please_wait');
        $ret['status'] = "success";
    }

およびログイン ビュー:

<form method="post" id="signin" action="<?php echo site_url('login/process_form')?>">
  <label for="username">Username</label>
  <input id="username" name="username" value="" class="required" tabindex="4" type="text" onkeypress="focusNext('pwd', 'login', this, event)" />
  </p>
  <p>
    <label for="password">Password</label>
    <input id="pwd" name="pwd" value="" class="required" tabindex="5" type="password">
  </p>
  <p class="clear"></p>
  <a href="#" class="forgot" style="display:none;" id="resend_password_link">Lupa password?</a>
  <p class="remember">
    <input id="signin_submit" value="Login" tabindex="6" type="submit"/>
    <input id="cancel_submit" value="Batal" tabindex="7" type="button"/>
    <input id="batal" value="TES" tabindex="7" type="button" onclick="<?php site_url('login/tes')?>"/>

  </p>
</form>

ログインボタンを押しても、何も起こりません..このコードの何が問題なのですか?

私はフォームアクションを試みていました:

site_url('login/process_form'),site_url('login.php/process_form'),base_url;('process_form')

しかし、それはまだ機能していません!

助けてください、ありがとう。

4

1 に答える 1

1

関数にビューをロードしておらず、process_form実際にコンテンツをロードするページへのリダイレクトも行っていません。

また、ifステートメントの条件が満たされていない場合の現在の記述方法は、何も実行しないはずであり、実際には関数は閉じられていません。

最後に、htmlにエラーがあります

  1. ボタンのhtml入力タイプはありません。適切な構文は次のようになります。

    <button id="batal" tabindex="7">TES</button>

また、onclickが正しくないため、フォームが送信されない可能性があります。今のところonclick="someurl..."、フォームを送信するために必要なだけレンダリングされます。

于 2012-05-30T18:53:07.437 に答える