2014-01-09 23 views
1

我在頁面上有一個表單,該表單重定向到該用戶必須登錄的頁面。一旦他們的登錄通過身份驗證,它會將他們返回到表單以填寫信息。我希望他們放在授權頁上的用戶名位於表單上的隱藏字段中,但不會傳遞該變量。我認爲這是認證過程中的一些問題。用於身份驗證的表單變量傳遞給另一個表單

<?php 
// *** Validate request to login to this site. 
if (!isset($_SESSION)) { 
    session_start(); 
} 

$loginFormAction = $_SERVER['PHP_SELF']; 
if (isset($_GET['accesscheck'])) { 
    $_SESSION['PrevUrl'] = $_GET['accesscheck']; 
} 

if (isset($_POST['snumber'])) { 
    $loginUsername=$_POST['snumber']; 
    $password=$_POST['password']; 
    $MM_fldUserAuthorization = ""; 
    $MM_redirectLoginSuccess = "xxx.php"; 
    $MM_redirectLoginFailed = "sorry.html"; 
    $MM_redirecttoReferrer = false; 
    mysql_select_db($database_name, $name); 

    $LoginRS__query=sprintf("SELECT snumber, password FROM stverification WHERE snumber=%s AND password=%s", 
    GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text")); 

    $LoginRS = mysql_query($LoginRS__query, $pease2) or die(mysql_error()); 
    $loginFoundUser = mysql_num_rows($LoginRS); 
    if ($loginFoundUser) { 
    $loginStrGroup = ""; 

    if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();} 
    //declare two session variables and assign them 
    $_SESSION['MM_Username'] = $loginUsername; 
    $_SESSION['MM_UserGroup'] = $loginStrGroup;  

    if (isset($_SESSION['PrevUrl']) && false) { 
     $MM_redirectLoginSuccess = $_SESSION['PrevUrl']; 
    } 
    header("Location: " . $MM_redirectLoginSuccess); 
    } 
    else { 
    header("Location: ". $MM_redirectLoginFailed); 
    } 
} 

form code: 
<input type="hidden" name="snumber" value="<?php echo $_POST['snumber']; ?>"> 

回答

1

因爲你設置會話的用戶名,你也可以用它重定向形式是這樣的:

表單代碼:

<input type="hidden" name="snumber" value="<?php echo $_SESSION['MM_Username']; ?>"> 
+0

謝謝你,我知道我失去了一些東西簡單... – PamD

+0

如果這有助於你,你可以接受答案。 – Aris