会话变量动态传递到下一页

时间:2014-04-01 08:07:01

标签: php html session-variables

此处的代码运行良好。我想要做的就是传递已经存储在$ userName中的FirstName和LastName(使用SESSION)。尝试登录时,实际上会从数据库中检索名字和姓氏。 我想在登录后的每个页面上显示名字和姓氏。谢谢

<table width="800" border="0" align="center" cellpadding="0" cellspacing="0">
 <tr>
<td><?php
 $DisplayForm = TRUE;
 $errors = 0;

if(isset($_POST['uname']) && isset($_POST['pass'])) {
include("dbconnect.php");
if($DBConnect !== FALSE){
$SQLstring = "SELECT userid, first_name, last_name FROM users WHERE username ='".
$_POST['uname']. "' and password = '".md5($_POST['pass'])."'";
$DisplayForm = FALSE;
$QueryResult = @mysql_query($SQLstring, $DBConnect);
echo mysql_error();
if (mysql_num_rows($QueryResult)=== 0){
  echo "<p style='color:red;'><b>&nbsp;&nbsp;&nbsp;The email address/password " . 
  " combination is not valid.</b></p>\n";
  ++$errors;
  $DisplayForm = TRUE;
}
else
{
  $DisplayForm = FALSE;
}

 }

 } 

if ($DisplayForm)
{?>


<form id="form1" name="loginForm" method="post" action="index.php">
 <table width="800" border="0" align="center" cellpadding="0" cellspacing="0">
 <tr>
  <td width="93" bgcolor="#DACFAF"><strong> &nbsp;&nbsp;&nbsp;Username:</strong></td>
  <td width="149" bgcolor="#DACFAF"><label for="textfield"></label>
  <input type="text" name="uname" id="textfield" /></td>
  <td width="76" bgcolor="#DACFAF"><strong>Password:</strong></td>
  <td width="150" bgcolor="#DACFAF"><label for="textfield2"></label>
  <input type="password" name="pass" id="pass" /></td>
  <td width="196" bgcolor="#DACFAF"><input type="image" name="login" src="images/login.jpg" />&nbsp;</td>
  <td width="68" bgcolor="#DACFAF">&nbsp;</td>
  <td width="68" bgcolor="#DACFAF"><strong><a href="register.php">Register</a>   </strong>   </td>
   </tr>
 </table>
  </form>

 <?php }
  else {
    $Row = mysql_fetch_assoc($QueryResult);
  $userID = $Row['userid'];
  $userName = $Row['first_name']. " ". $Row['last_name'];


  echo "<table width=780px border=0px >";
              echo "<tr>";
              echo "<td style='color:red;'>";
              echo "<b>&nbsp;&nbsp;&nbsp;Welcome back, $userName!</b>";
              echo "</td>";
              echo"<td align='right'>";
              echo "<form method='POST' action=''>";
              echo "<input type='submit' name='submit' value='logout'>";
              echo "</form>";
              echo "</td>";
              echo "</tr>";
              echo "</table>";


  }


 ?>&nbsp;</td>
  </tr>
</table>

1 个答案:

答案 0 :(得分:0)

假设您知道如何设置$ _SESSION变量。

或者如果不是

在您的登录php中,使用session_start();启动会话。完成所有检查后。将名称放在$_SESSION变量中。

像这样

$_SESSION['username'] = $firstname.$lastname;

假设$ firstname具有用户的名字,$ lastname具有用户的姓氏。

THEN:

session_start();放在要显示用户名的PHP文件的最开头。

然后

$userName=$_SESSION['username'];

将这两个放在每个要显示名称的php文件的开头。 现在,您可以使用变量$userName来显示名称。