2012-07-15 8 views
0

我希望當我按登錄按鈕我得到迴應在同一頁面,例如如果用戶名不存在或者重複,它應該在同一個頁面上顯示錯誤消息,還有一件事是這個數據會進入另一個頁面,並且在一些數據庫操作之後它返回值,我得到了我使用的頁面中的值該數據庫查詢,但如何將其返回到我實際提交它的第一頁獲取處理值返回在同一頁在php

這是情景登錄 - >功能選擇器 - >控制器(數據庫查詢頁面) 我需要做的是從控制器獲得價值一個成功的查詢生成後,在這裏登陸是代碼窺見

<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; 
} 

回答

2

登錄頁面可以提交到自身,並在成功登錄控制器功能,您重定向到會員區。登錄失敗時,您只需顯示一條消息。

+0

謝謝我得到了解決方案...這是一個非常棒的幫助! – Saqib 2012-07-15 09:02:36