我有問題傳遞會話信息或設置它們。我有這個代碼。會話變量?傳遞通過PHP頁面
// To protect MySQL injection for Security purpose
$UserName = stripslashes($UserName);
$Password = stripslashes($Password);
$UserName = mysqli_real_escape_string($con, $UserName);
$Password = mysqli_real_escape_string($con, $Password);
// SQL query to fetch information of registerd users and finds user match.
$query = mysqli_query($con, "select * from Employee where password='$Password' AND username='$UserName'");
$rows = mysqli_num_rows($query);
if ($rows == 1) {
$_SESSION['User']= $rows['FName'] $rows['LName']; // Initializing Session
header("location: Dashboard.php"); // Redirecting To Other Page
} else {
header("location: index.php"); // Redirecting To Other Page
$error = "Username or Password is invalid";
}
mysqli_close($con); // Closing Connection
}
}
?>
一旦用戶已通過身份驗證。我希望將用戶會話設置爲他們的名字和姓氏。如果我需要設置2個不同的會話變量,我可以。
獲取信息的頁面。這裏是重溫代碼。我可以讓它迴應用戶說歡迎(姓名在這裏)。
<?php session_start();
$User = $_SESSION['$User'];
echo $User;
?>
<table border="0" width="100%" cellspacing="0" cellpadding="0" height="45" bgcolor="#aabbcc">
<tr>
<td>
<p align="Left"><font face="Monotype Corsiva" size="3"> Welcome <?php echo $User; ?> </font>
<?php
//Gets the IP address
$ip = getenv("REMOTE_ADDR") ;
Echo "Your IP is " . $ip;
?>
</tr >
</table>
有人可以給我帶頭。我已經檢查了一些教程等新的會議。只是沒有在教程網站上看到解決方案。
新編碼!!!這裏XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
<?php
session_start(); // Starting Session
$error=''; // Variable To Store Error Message
if (isset($_POST['Submit'])) {
if (empty($_POST['UserName']) || empty($_POST['Password'])) {
$error = "Username or Password is invalid";
}
else
{
// Define $username and $password
$UserName=$_POST['UserName'];
$Password=$_POST['Password'];
// Establishing Connection with Server by passing server_name, user_id and password as a parameter
$con = mysqli_connect("localhost", "USER", "PASS", "DATABASE");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// To protect MySQL injection for Security purpose
$UserName = stripslashes($UserName);
$Password = stripslashes($Password);
$UserName = mysqli_real_escape_string($con, $UserName);
$Password = mysqli_real_escape_string($con, $Password);
// SQL query to fetch information of registerd users and finds user match.
$query = mysqli_query($con, "select * from Employee where password='$Password' AND username='$UserName'");
$rows = mysqli_num_rows($query);
if ($rows == 1) {
$_SESSION['User']= array('FName' =>$rows['FName'], 'LName' => $rows['LName']); // Initializing Session
header("location: Dashboard.php"); // Redirecting To Other Page
} else {
header("location: index.php"); // Redirecting To Other Page
$error = "Username or Password is invalid";
}
mysqli_close($con); // Closing Connection
}
}
?>
確定其傳遞到包括在我的dashboard.php是代碼
<?php session_start();
$User = $_SESSION['User'];
error_reporting(E_ALL); ini_set('display_errors', 1);
?>
<table border="0" width="100%" cellspacing="0" cellpadding="0" height="45" bgcolor="#aabbcc">
<tr><td>
<p align="Left"><font face="Monotype Corsiva" size="3"> <?php echo "Welcome {$User['FName']} {$User['LName']}"?> </font>
<?php
//Gets the IP address
$ip = getenv("REMOTE_ADDR") ;
Echo "Your IP is " . $ip;
?>
</tr >
</table>
並感謝大家的建議!
在登錄腳本上是'session_start();'?如果不是,它需要。 – Rasclatt
也不要這樣做''select * from Employee where password ='$ Password'AND username ='$ UserName'「'。你需要查找綁定參數 – Rasclatt
是的,我遺漏了相關頂級代碼的頂部。是的,它是與我的數據連接信息 –