0

我希望当我按下登录按钮时,我会在同一页面中获得响应,例如,如果用户名不存在或重复,则它应该在同一页面上显示错误消息,另一件事是这些数据会转到另一个页面,然后一些数据库操作它返回值,我在使用该数据库查询的页面中获得了值,但是如何将它返回到我实际提交它的第一页

这是场景 login->function selector->controller(database query page) 我需要做的是在成功生成查询后从控制器获取值以登录这里是代码的一瞥

<form method="post" action="selector.php?type=login" id="login" id="loginForm">
                <div class="row">
                    <div class="offset1 span1">            

                        <div class="lbel"><label class="control-label" for ="loginName">Username/Email</label></div>
                        <div class="lbl_inpuCnt"><input type="text" class="input-xlarge" id="loginName" name="loginName" maxlength="50"/></div>
                        <div id="usernameError" style="font-size: 10px; color: red;">&nbsp;</div>
                        <div class="lbel"><label class="control-label" for="loginPassword">Password</label></div>
                        <div class="controls">
                            <input type="password" class="input-xlarge" id="loginPassword" name="loginPassword" maxlength="50"/>
                        </div>
                        <div id="passwordError" style="font-size: 10px; color: red;">&nbsp;</div><br/>
                    </div>
                </div>
                <div style="margin-left: 55px;">
                    <input class="btn" style="width: 80px;" type="reset" name="reset" value="Reset" onclick="clearFields()"/>
                    <input class="btn" style="width: 80px;" type="submit" name="submit" value="Login" onclick="return validateForm();"/>
                </div>
            </form>

然后是选择器页面

<?php
include_once 'classes/controller.php';
$controller = new controller();
switch ($_GET['type']) {
case 'signup':
    $registerStatus = $controller->register($_POST);
    $_POST['username'] = $registerStatus;
    break;
case 'login':{
    $result= $controller->login($_POST);
    echo $result; //here i get the value from next page after process, i need it back to   login page to show error there!
    }
    break;
case 'uploadSongs':
    $controller->uploadSongs();
    break;
case "delete":
    echo "Function Called";
    break;

} ?>

这是controller.php中的控制器功能

public function login($request = array()) {
    $login = $request['loginName'];
    $password = ($request['loginPassword']);
    $query = "select * from user where (user_name = '" . $login . "' OR email = '" . $login . "') AND (password  = '" . $password . "')";
    $user = $this->model->select($query);

    if (is_array($user) && isset($user[0]['user_id'])) {
        $_SESSION['uid'] = $user[0]['user_id'];
        echo $_SESSION['name'] = $user[0]['first_name'];
        $this->redirect("userArea.php");
    } else {
        echo "-1";
        return $login;
    }
    exit;
}
4

1 回答 1

2

登录页面可以自行提交,登录成功后跳转到会员区。登录失败时,您只需显示一条消息。

于 2012-07-15T08:22:56.923 回答