0

私は新しいプロジェクトの1つに高度なログインシステムを構築していますが、私が抱えている問題は最も単純な部分にあります。投稿されたフォームデータ。

以下のページ間で転送されていないデータ。私はこれを1時間繰り返しましたが、問題を見つけることができません。

皆さんの助けをいただければ幸いです、ありがとう。

コードとメモ:

login.php:

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Live Home :: Client Login</title>

        <link rel="stylesheet" href="css/core.core.css" type="text/css" />
        <script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
        <script src="js/common.js" type="text/javascript"></script>
        <script src="bundles/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
    </head>

    <body>

        <header>
          <div class="bar"></div>
            <div class="btm"></div>
        </header>


        <section id="login">
          <div class="drop">
            <div class="top">
                <h2>Live Home</h2>
                <hr class="sec-sep" style="width:100px;" />
            </div>
            <section id="FOH">
                <div class="inner">
                    <form class="form-horizontal" method="post" id="logon-form" action="auth/logon.php">
                        <div class="control-group">
                            <label class="control-label" for="inputEmail">Username / Email : </label>
                            <div class="controls">
                                <input type="text" id="inputEmail" placeholder="Username / Email" />
                            </div>
                        </div>
                        <div class="control-group">
                            <label class="control-label" for="inputPassword">Password : </label>
                            <div class="controls">
                                <input type="password" id="inputPassword" placeholder="Password" />
                            </div>
                        </div>
                        <div class="control-group">
                            <a id="login-btn" class="btn btn-primary btn-mid-login">Sign in</a>
                        </div>
                    </form>
                </div>
                <div class="login-loader"></div>
            </section>
          </div>
        </section>

    <script type="text/javascript">

    $(window).bind('load resize', setPos);

    function setPos(){
        $('#login').css({
            'margin-top':   ($(window).height() / 2) - ($('#login').height() / 2) - (($(window).height() / 100) * 10)
        });
    }

    $(document).ready( function() {

        $('#login-btn').click( function() {
            $('.inner').stop(true, true).fadeOut({ duration: 700, queue: false }).slideUp(700); 
            $('.login-loader').delay(700).fadeIn(300); 
            setTimeout(function() {
                $('#logon-form').submit();  
            },2800);
        });

    });

    </script>

    </body>
</html> 

auth / login.php:

<?php
    /**=====================================================================

    logon.php

    This file logs users into the main system.

    =======================================================================*/

    class access {

        function authenticate () {

            $user_request = $_POST;

            if(isset($user_request)){

                $username = $user_request['inputEmail'];

                $password = $user_request['inputPassword'];

                var_dump($_POST);

            }else{

                header("Location: ../../login.php");

            }

        }

    }

    $access = new access();
    $access -> authenticate();
?>

動作中のページを表示するには、ここをクリックしてください

4

3 に答える 3

3

その理由は、PHPがname属性を使用するためです。あなたの入力がname = 'test'PHPの場合、$_POST['test']

于 2013-01-08T17:18:05.893 に答える
2

入力フィールドには「name」属性がありません。

于 2013-01-08T17:18:49.340 に答える
0

私なら、変えるね

if(isset($user_request)){

if(isset($user_request['inputEmail'], $user_request['inputPassword'])){

また、 -bodyにexitステートメントを入れて、コードが期待どおりの場所で終了するようにします。ifそのヘッダーLocationは、表示されないほど速く発生する可能性があります。

于 2013-01-08T17:16:24.877 に答える