2012-03-02 2 views
1

コードイグナイターを使って私のスクリプトに覚えている機能を追加する方法を理解しようとしています。ここで私は "チェックボックスをどうしようとmは何だ。私がもしなステートメントの構文エラーを取得しています。私はそれを正しく使用していない?コードイグナイターでクッキーを覚えている

<?php echo form_label(form_checkbox('remember', 1, if (isset($this->input->cookie('xtrcook'))) { TRUE }) . ' Auto-login in future.', 'remember'); ?> 

答えて

0

あなたが引数としてこれを渡ししようとしているので、あなたは構文エラーがあります。

if (isset($this->input->cookie('xtrcook'))) { TRUE } 

これはPHPで式がどのように機能するかではありません。あなたはこれだけこの中に渡し、これはTRUEが設定されているxtrcookクッキーであるようにしたい:

isset($this->input->cookie('xtrcook')) 

実は、$this->input->cookie()戻りクッキーの値やFALSE、との両方がいつもisset()が、ここで適切でない「に設定」されているいずれか使用することができます! empty()またはその代わり!== FALSE

$this->input->cookie('xtrcook') !== FALSE // evals to TRUE if the cookie exists 

全部:

<?php echo form_label(form_checkbox('remember', 1, $this->input->cookie('xtrcook') !== FALSE).' Auto-login in future.', 'remember'); ?> 

それはまだ複雑少しで、form_label()関数に渡すと、ちょうどこれを書くことが容易であるかもしれない:

<label> 
    <?php echo form_checkbox('remember', 1, $this->input->cookie('xtrcook') !== FALSE); ?> 
    Auto-login in future 
</label> 
+0

クッキーは、ユーザーがシステムを覚えておきたいだけの場合にのみ、ユーザ名を覚えていますそれがログアウトしてログインページに戻るとき –

+0

それは「脇」のほうが上だったのですが、どうやって残りの部分を作りましたか? –

+0

<?php echo form_label(form_checkbox( 'remember'、1、$ this-> input-> cookie( 'xtrcook')!== FALSE))という構文エラーがありました。将来の自動ログイン '、' remember '); ?> –

0

私はそうは思わない、これはビューのようになります。 PHPはサーバーサイドの言語です。つまり、ページをレンダリングすると終了します。これはチェックボックスのクリックに応答しません。構造体を維持するためにAJAX呼び出しを行うことができますが、ページ上の変数を覚えているあなたがフォームを送信した後、必要に応じてクッキーを設定するかどうかを確認

関連する問題