这段PHP代码有几个地方看不明白,请高手指教!
这是一段实现用户登陆的代码,问题用注释的方式给在相应程序的地方,麻烦各位高手了。<?php//***Validaterequesttologintothissite.if...
这是一段实现用户登陆的代码,问题用注释的方式给在相应程序的地方,麻烦各位高手了。
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}
$loginFormAction = $_SERVER['PHP_SELF'];//$_SERVER['PHP_SELF']里存的什么值?
if (isset($_GET['accesscheck'])) {//$_GET['accesscheck']里又存的什么值?
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}
if (isset($_POST['username'])) {
$loginUsername=$_POST['username'];
$password=$_POST['password'];
$MM_fldUserAuthorization = "";//这个赋值语句是做什么用的?
$MM_redirectLoginSuccess = "member_info.php";
$MM_redirectLoginFailed = "login_form.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_connection, $connection);
$LoginRS__query=sprintf("SELECT username, password FROM member WHERE username='%s' AND password='%s'",
get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));
$LoginRS = mysql_query($LoginRS__query, $connection) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = "";//这个赋值语句是做什么用的?
//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;
if (isset($_SESSION['PrevUrl']) && false) {//这个条件语句不是肯定为假么,做什么用?
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>
一共五个问题,诚盼高手指教。
这段程序是用DeameWeaver里的服务器行为生成的,实不相瞒,我还觉得写得挺好,可能我看过的源代码太少了吧。
还有,像$_SERVER['PHP_SELF']这样本来就有值的常量叫什么来着,与它相似的常量还有哪些?麻烦再回答一下。 展开
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}
$loginFormAction = $_SERVER['PHP_SELF'];//$_SERVER['PHP_SELF']里存的什么值?
if (isset($_GET['accesscheck'])) {//$_GET['accesscheck']里又存的什么值?
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}
if (isset($_POST['username'])) {
$loginUsername=$_POST['username'];
$password=$_POST['password'];
$MM_fldUserAuthorization = "";//这个赋值语句是做什么用的?
$MM_redirectLoginSuccess = "member_info.php";
$MM_redirectLoginFailed = "login_form.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_connection, $connection);
$LoginRS__query=sprintf("SELECT username, password FROM member WHERE username='%s' AND password='%s'",
get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));
$LoginRS = mysql_query($LoginRS__query, $connection) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = "";//这个赋值语句是做什么用的?
//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;
if (isset($_SESSION['PrevUrl']) && false) {//这个条件语句不是肯定为假么,做什么用?
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>
一共五个问题,诚盼高手指教。
这段程序是用DeameWeaver里的服务器行为生成的,实不相瞒,我还觉得写得挺好,可能我看过的源代码太少了吧。
还有,像$_SERVER['PHP_SELF']这样本来就有值的常量叫什么来着,与它相似的常量还有哪些?麻烦再回答一下。 展开
2个回答
展开全部
感觉这个程序片段乱七八糟的。
1、$loginFormAction = $_SERVER['PHP_SELF'];
//$_SERVER['PHP_SELF']里存的什么值?
曰:你echo试一下不就知道了,就是这个页面的名称,比如index.php
2、if (isset($_GET['accesscheck'])) {
//$_GET['accesscheck']里又存的什么值?
曰:你echo试一下不就知道了,是url里?accesscheck=xxx中的xxx的值。
3、$MM_fldUserAuthorization = "";
//这个赋值语句是做什么用的?
曰:开始乱了,估计作者是希望赋这个变量作为是否验证成功的标志,可是后面的代码中却没有使用此变量。
4、$loginStrGroup = "";
//这个赋值语句是做什么用的?
曰:记录用户所属群组,应该在sql查询之后赋值,但是没有。怪!
5、if (isset($_SESSION['PrevUrl']) && false) {
//这个条件语句不是肯定为假么,做什么用?
曰:&&false应该去掉,肯定是错误一个。
你查看phpinfo()这个函数就知道了,里面有一块内容专门是这些。
即:
新建立一个php文件,假如xxx.php,输入:
<?php
phpinfo();
?>
然后浏览器访问http://path-to-xxx.php查看内容即可。
1、$loginFormAction = $_SERVER['PHP_SELF'];
//$_SERVER['PHP_SELF']里存的什么值?
曰:你echo试一下不就知道了,就是这个页面的名称,比如index.php
2、if (isset($_GET['accesscheck'])) {
//$_GET['accesscheck']里又存的什么值?
曰:你echo试一下不就知道了,是url里?accesscheck=xxx中的xxx的值。
3、$MM_fldUserAuthorization = "";
//这个赋值语句是做什么用的?
曰:开始乱了,估计作者是希望赋这个变量作为是否验证成功的标志,可是后面的代码中却没有使用此变量。
4、$loginStrGroup = "";
//这个赋值语句是做什么用的?
曰:记录用户所属群组,应该在sql查询之后赋值,但是没有。怪!
5、if (isset($_SESSION['PrevUrl']) && false) {
//这个条件语句不是肯定为假么,做什么用?
曰:&&false应该去掉,肯定是错误一个。
你查看phpinfo()这个函数就知道了,里面有一块内容专门是这些。
即:
新建立一个php文件,假如xxx.php,输入:
<?php
phpinfo();
?>
然后浏览器访问http://path-to-xxx.php查看内容即可。
展开全部
$loginFormAction = $_SERVER['PHP_SELF'];//$_SERVER['PHP_SELF']里存的什么值?
这是取当前URL地址
if (isset($_GET['accesscheck'])) {//$_GET['accesscheck']里又存的什么值?
这个应该判断来路地址,以便登陆成功后转向到原来路地址.
$MM_fldUserAuthorization = "";//这个赋值语句是做什么用的?
这个应该是定义用户授权ID变量
这是取当前URL地址
if (isset($_GET['accesscheck'])) {//$_GET['accesscheck']里又存的什么值?
这个应该判断来路地址,以便登陆成功后转向到原来路地址.
$MM_fldUserAuthorization = "";//这个赋值语句是做什么用的?
这个应该是定义用户授权ID变量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询