如何回显登录的特定用户的名字和姓氏? 这是checkLogin.php的代码:
$FirstName = $_POST['FirstName'];
$LastName = $_POST['LastName'];
$sql="SELECT * FROM myweekprofiles WHERE LastName='$LastName' and FirstName='$FirstName'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1){
session_register("FirstName");
session_register("LastName");
header("location:loginSuccess.php");
}else {
//This page will describe that the email/password is incorrect
}
以下是inc_header_User.php的代码:
if(!isset($_SESSION['FirstName'])) {
echo "Hello";
}else{
$FirstName = $_SESSION['FirstName'];
}
我尝试在标题中回显$ FirstName,但是我收到一条错误消息:
未定义的变量:第55行的C:\ wamp \ www \ MyWeek \ includes \ inc_header_User.php中的FirstName
答案 0 :(得分:2)
可能出错的两件事。
来自documentation的 第一个,This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 5.4.0.
。所以从checkLogin.php中删除这些行:
<击>了session_register( “姓”); 击>
<击> 击><击>了session_register( “名字”); 击>
然后写下来(注意添加的session_start()):
session_start();
$_SESSION['FirstName'] = $FirstName;
$_SESSION['LastName'] = $LastName;
第二(可能来自第一个,可能不是),inc_header_User.php中的逻辑可能出错,请尝试将其更改为:
session_start();
if(!isset($_SESSION['FirstName'])) {
$FirstName = '';
echo "Hello";
}else{
$FirstName = $_SESSION['FirstName'];
}
其他说明: 这是错误,通知还是警告?它实际上看起来并不致命,回复未设置的变量不会杀死整个应用程序。
你很容易注入MySQL,将第一行更改为:
$FirstName = mysql_real_escape_string($_POST['FirstName']);
$LastName = mysql_real_escape_string($_POST['LastName']);
正如已经建议的那样,尝试使用MySQLi或PDO而不是mysql_ *函数来获取新代码。