2013-06-24 43 views
-1

我正在創建用於登錄和註銷的表單。 我的問題是,當用戶提交他們的用戶名和密碼,然後顯示與該用戶名的歡迎消息。文件在下面給出。在php&mysql中顯示帶有用戶名的歡迎消息

include.php

<?php 

session_start(); 


$host = "VKSolutions"; 

$username = "VKSolutions"; 

$password = "[email protected]"; 

$db = "VKSolutions"; 

@mysql_connect($host,$username,$password) or die ("error"); 

@mysql_select_db($db) or die("error"); 

?> 

的login.php

<?php 

require_once('include.php'); 

$error = ''; 

$form = $_POST['submit']; 

$user = $_POST['user']; 

$password = $_POST['password']; 

if(isset($form)) { 

if(isset($user) && isset($password) && $user !== '' && $password !== '') { 


$sql = mysql_query("SELECT * FROM `accounts` WHERE user='$user' and 
password='$password';"); 

if(mysql_num_rows($sql) != 0) { //success 

$_SESSION['logged-in'] = true; 

header('Location: members.php'); 

exit; 

} else { $error = "Incorrect login info"; } 

} else { $error = 'All information is not filled out correctly';} 

} 

?> 

<html xmlns="http://www.w3.org/1999/xhtml"> 

<head> 

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 

<title>Login</title> 

</head> 

<body> 


<table width="80%" border="0"><form action="<?php $PHP_SELF; ?>" method="post" > 
    <tr> 
    <td><label>Employee Name:</label></td> 
    <td><input name="user" placeholder="Enter Name" type="text" value="<?php echo  "$user";?>" /></td> 
    </tr> 
    <tr> 
    <td><label>Password:</label></td> 
    <td><input name="password" placeholder="Enter Password" type="password" /></td> 
    </tr> 
    <tr> 
    <td>&nbsp;</td> 
    <td><input valin="right" name="submit" type="submit" value="Log In" /></td> 
    </tr></form> 
</table> 
<?php 

echo "<br /><span style=\"color:red\">$error</span>"; 

?> 
</body> 
</html> 

members.php

<?php 

require_once('include.php'); 

if (!isset($_SESSION['logged-in']) || $_SESSION['logged-in'] !== true) { 

header('Location: login.php'); 

exit; 

} 

?> 


<html xmlns="http://www.w3.org/1999/xhtml"> 

<head> 
<title>Staff Area</title> 
</head> 
<body> 
<div style="margin-top:50px; color:#00F; margin-left:50px; font-size:18px;    position:absolute">Welcome<?php echo "$user";?></div> 
</body> 
</html> 

logout.php

<?php 

session_start(); 

// if the user is logged in, unset the session 

if (isset($_SESSION['logged-in'])) { 

unset($_SESSION['logged-in']); 

} 

// now that the user is logged out, 

// go to login page 

header('Location: login.php'); 

?> 

在我的members.php中它是登錄的,但不顯示用戶名。我需要這個用戶名。 請找出有什麼問題。 謝謝。

+0

在session中設置用戶名以及$ _SESSION ['logged-in']'。 – Rikesh

回答

1

由於HTTP是一種無狀態協議,因此您需要創建$_session變量。除非將它們存儲在會話中,否則login.php中定義的變量不可用於members.php。

首先在login.php中

session_start(); 
$_SESSION['user'] = $_POST['user']; 

然後在members.php文件

session_start(); 
$user = $_SESSION['user']; 

將允許您訪問它。

1

只需使用像$_SESSION['user']= $_POST['user'];這樣的會話變量,然後使用echo $_SESSION['user']來顯示它。

另外請確保您在php文件的開頭添加session_start();

0

你需要註冊你的會話用戶名像這樣 session_start(); $ _SESSION ['user'] = $ _POST ['user']; 然後檢索您的會話用戶名以顯示用戶名消息 echo $ _SESSION ['user'];

相關問題