0

編集:それ自体を解決しました。を再作成しLoginController、問題は解決しました。回答ありがとうございます。

だから私はZendにかなり慣れていないので、明らかに単純なものが欠けているかもしれません。シナリオは非常に簡単です。にindex送信するZend_Form が/loginあり、そこでユーザー名とパスワードの変数を処理したいと考えています。カスタム デコレーターを使用してフォームをセットアップすると、結果の HTML は次のようになります。

<form id="loginForm" name="loginForm" enctype="application/x-www-form-urlencoded" method="post" action="/login">
    <div class="input-container" id="username-container">
        <input type="text" name="username" id="username" value="" helper="formText">  
        <div class="input-overlay">Username/Email</div>
    </div>
    <div class="input-container" id="password-container">
        <input type="password" name="password" id="password" value="" helper="formPassword">
        <div class="input-overlay">Password</div>
    </div>
    <div id="dropdown-checkbox-forgot-container">
        <div class="checkbox-container" id="checkbox-container-rememberMe">
            <input type="hidden" name="rememberMe" value="0">
            <input type="checkbox" name="rememberMe" id="rememberMe" value="1" checked="checked" helper="formCheckbox" text="Remember me" class="light">
            <div class="light checkbox-text" id="checkbox-text-rememberMe">Remember me</div>
        </div>
        <a href="/login/forgot" class="medium" id="dropdown-forgot-password">Forgot password?</a>
    </div>
    <input type="image" name="login" id="dropdown-login-submit" src="">
</form>

すごい!提出しましょう!var_dump値が正しく転送されていることを確認するために、LoginController に 単純なものを配置しました。var_dump($this->getRequest()->getPost()). FF と IE はどちらも、本来あるべき値を示しています。usernameただし、Chrome と Safari ではまたはpassword入力は表示されません。rememberMePOST 配列には値しかありません。変...

Zend が POST スーパーグローバルにアクセスしている可能性があると考えたので、コードをvar_dump($_POST). 同じ問題。欲求不満で、私var_dumpは $_POST と$this->getRequest()->getPost()....の両方を試してみましたが、うまくいきました!? 入力のみで1つのコピーをダンプrememberMeし、すべてを含む1つのコピーをダンプしました(usernameおよびpassword含まれています)。なぜ、どのように機能したのかわかりません。問題が何であるかについての洞察は大歓迎です!

4

1 に答える 1

0

ZendToolを使用してLoginControllerを再作成し、すべて期待どおりに機能しました。

于 2013-02-05T00:34:55.567 に答える