Php 用于传递给另一表单的身份验证的表单变量

Php 用于传递给另一表单的身份验证的表单变量,php,forms,Php,Forms,我在一个页面上有一个表单,可以重定向到一个用户必须登录的页面。一旦他们的登录被验证,它就会将他们返回表单以填写信息。我希望他们放在授权页面上的用户名位于表单的隐藏字段中,但它不会传递变量。我认为这是身份验证过程中的事情 <?php // *** Validate request to login to this site. if (!isset($_SESSION)) { session_start(); } $loginFormAction = $_SERVER['PHP_SELF

我在一个页面上有一个表单,可以重定向到一个用户必须登录的页面。一旦他们的登录被验证,它就会将他们返回表单以填写信息。我希望他们放在授权页面上的用户名位于表单的隐藏字段中,但它不会传递变量。我认为这是身份验证过程中的事情

<?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']; ?>">

既然您在会话中设置了用户名,您也可以在重定向表单上使用它,如下所示:

表格编号:

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