我有以下登录脚本,当用户在www.msheeksproductions.com上单击登录表单上的提交按钮时会运行该脚本。出于安全原因,我已删除数据库登录信息。
<?php
error_reporting(E_ALL);
$user = '***************';
$pass = '***************';
$host = '***************';
$data = '***************';
$userN=$_POST['userN'];
$passW=$_POST['passW'];
mysql_connect($host, $user, $pass)or die("Could not connect");
mysql_select_db($data)or die("Database Not Found");
$query="SELECT userID FROM sec_login WHERE Username='$userN' AND Password='passW'";
$result=mysql_query($query) or die(mysql_error());
$user=mysql_num_rows($result);
if($user==1) {
session_register("userN");
header("location: ../index.php");
}
else {
echo("You have entered invalid login information.");
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>我的问题是,如果你登陆security.php页面,什么都不会发生。PHP脚本似乎根本没有被执行。我不确定我是否在某个地方有一个语法错误,或者是我的主机帐户的配置问题。服务器使用的是PHP 5.2。有没有人知道Bluehost在这类事情上是否存在已知的问题?如果有编码错误,那么很明显我也很想知道。我是个新手,所以我可能没有做好所有的事情。
此外,我还尝试在index.php文件中再次调用该变量,但似乎没有返回任何数据。
<?php $usr=$_SESSION['username'];
echo "User Name Is: $usr"; ?>提前感谢!
发布于 2012-05-22 01:30:46
请考虑以下几点:
为了更好地处理错误和查询parameters....,请注意
发布于 2012-05-23 04:27:56
好的,以防有人偶然发现这一点,需要一个例子。以下是我现在用于运行日志脚本的代码:
<?php
session_start();
error_reporting(E_ALL);
ini_set('display_errors', 1);
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$user = '***********';
$pass = '***********';
$host = '***********';
$data = '***********';
mysql_connect($host, $user, $pass) or die("Could not connect");
mysql_select_db($data) or die("Database Not Found");
$result=mysql_query("SELECT userID FROM sec_login WHERE Username='".mysql_real_escape_string($_POST['userN'])."' AND Password='".mysql_real_escape_string($_POST['passW'])."'") or die(mysql_error());
if(mysql_num_rows($result) == 1) {
$_SESSION['login']=1;
$_SESSION['username']=$_POST['userN'];
$session= session_name() . '=' . session_id();
header("location: ../index.php?".$session);
exit();
} else {
$message = 'You have failed to provide valid credentials.';
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php echo $message; ?>
</body>
</html>当然,连接变量被省略了。为了让其他页面获取会话变量,请确保每个页面都以开头(在代码的第一行,甚至在您的doctype声明之前)
感谢大家的帮助!
https://stackoverflow.com/questions/10689444
复制相似问题