PHP登录脚本没有重定向服务器端(远程主机)的安全页面


php login script does not redirect secure page on server side (remote host)

我有一个简单的登录脚本,它在我的本地主机上工作,没有问题。然而,当我上传到远程主机时,我得到的是一个白屏。在我提交用户名密码后,它不会将我带到安全索引页,如果我手动输入密码,我可以访问该页面。

这是我使用的代码…

login。

<?php
session_start();
include("script/db.php");

// username and password sent from Form
$login_name= $_POST['login_name'];
$password= $_POST['password'];

$login_name = stripslashes($login_name);
$password= stripslashes($password);
$login_name= mysql_real_escape_string($login_name);
$password= mysql_real_escape_string($password);
$query="SELECT id_user, iduserlevel FROM user WHERE login_name='$login_name' and password='$password'";
$result=mysql_query($query);
$row=mysql_fetch_array($result);
$iduserlevel=$row['iduserlevel'];
$count=mysql_num_rows($result);

// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1)
{
session_register("login_name");
$_SESSION['login_user']=$login_name;
$_SESSION['iduserlevel']=$iduserlevel;
header("location: secure/index.php");
}
else
{
echo "Your Login Name or Password is invalid";
}
mysql_close(); 
?>
<a href="index.php" > Please Try Again</a>

lock.php

<?php
if(!isset($_SESSION))
{
session_start();
}
include("script/db.php");
$user_check=$_SESSION['login_user'];
$query=mysql_query("select login_name, iduserlevel,y from user where login_name='$user_check' ");
$row=mysql_fetch_array($query);
$login_session=$row['login_name'];
$iduserlevel_session=$row['iduserlevel'];
$iduserlevel_sessiony=$row['y'];
if(!isset($login_session))
{
header("location: index.php");
}
mysql_close(); 
?>

安全/index . php

<?php include("../lock.php");?>
<?php
....
?>

你可以改变这一行

header("location: secure/index.php");

例如:

header("location: http://".$_SERVER['SERVER_NAME']."/secure/index.php");

和过滤$POST sql注入

同样,您正在使用关联数组进行查询。如果你要这样做,使用

mysql_fetch_assoc() not array().

IE。

$行=作用(查询)美元;