我在注册会话时遇到了问题,它总是有效的,但在一次,它就没有了。我使用PHPVersion5.2,阅读了一些关于将session_register("");
更改为$_SESSION('') = $$blabla;
的内容,所以我这样做了,但这也不起作用。
这是我的密码:
<?
ob_start();
$host="localhost"; // Host name
$username="transrpt_transrp"; // Mysql username
$password="******************"; // Mysql password
$db_name="transrpt_transrp"; // Database name
$tbl_name="PlayerData"; // Table name
// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// Define $myusername and $mypassword
$myusername=$_POST['myusername'];
$mypassword= hash('whirlpool', $_POST['mypassword']);
// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
$sql="SELECT * FROM $tbl_name WHERE Name='$myusername' and Password='$mypassword'";
$result=mysql_query($sql);
// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count!=0){
// Register $myusername, $mypassword and redirect to file "login_success.php"
$resultt = mysql_query("SELECT * FROM PlayerData WHERE Name='$myusername'");
$row = mysql_fetch_array($resultt);
$playerlevel = $row['PlayerLevel'];
$_SESSION['myusername'] = $$myusername;
$_SESSION['mypassword'] = $$mypassword;
$_SESSION['playerlevel'] = $$playerlevel;
header("location:index.php");
}
else {
echo "Wrong username or password";
}
ob_end_flush();
?>
发布于 2012-07-25 09:02:44
您尚未启动会话:使用session_start()
$_SESSION('') = $$blabla;
这毫无意义。这就好像您试图调用一个函数,但您不能调用$_SESSION
。
此外,您使用的是$$myusername
和$$mypassword
,而不是$myusername
和$mypassword
。
stripslashes()
?mysql_real_escape_string()
负责逃跑。启用magic_quotes
了吗?$result
,所以可以通过对mysql_query()
的第二次调用覆盖它,而不需要$resultt
。PlayerData
中获取了适当的行。ob_start()
和ob_end_flush()
发布于 2012-07-25 09:01:22
您是否尝试过将session_start();添加到PHP文件的开头?
发布于 2012-07-25 09:11:33
使用脚本顶部的session_start()
https://stackoverflow.com/questions/11646108
复制相似问题