各位老哥,高分求救,谁有使用session的例程,谢谢. 出什么问题了,贴出来看看。是不是session不好用.你要用CGI的方式运行php 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 上一问题已经解决。请问大哥,怎样实现php认证功能,服务器该怎样配置。 <?phpsession_start();if (empty($HTTP_SERVER_VARS["PHP_AUTH_USER"]) or empty($HTTP_SERVER_VARS["PHP_AUTH_PW"])) { /* 输入不正确 */ Header("WWW-Authenticate: Basic realm=\"密码认证\""); Header("HTTP/1.0 401 Unauthorized"); $login_flag = 0; require (dirname(__FILE__)."/denied.php"); exit();} else { /* 有输入则进行数据库查询 */ $login_user = $HTTP_SERVER_VARS["PHP_AUTH_USER"]; $login_pass = $HTTP_SERVER_VARS["PHP_AUTH_PW"]; require (dirname(__FILE__)."/connect.inc.php"; $query = "SELECT id,pass,auth FROM userauth WHERE user='$login_user'"; $result = mysql_query($query, $db_id) or die("使用数据表时发生错误!"); if (mysql_num_rows($result)==0) { /* 无该用户 */ Header("WWW-Authenticate: Basic realm=\"密码认证\""); Header("HTTP/1.0 401 Unauthorized"); $login_flag = 1; require (dirname(__FILE__)."/denied.php"); exit(); } else { $row = mysql_fetch_array($result); if ($login_pass != $row["pass"]) { /* 密码不正确 */ Header("WWW-Authenticate: Basic realm=\"密码认证\""); Header("HTTP/1.0 401 Unauthorized"); $login_flag = 2; require (dirname(__FILE__)."/denied.php"); exit(); } elseif (($row["auth"]&0x01)==0) { /* 帐号被禁止 */ $login_flag = 3; require (dirname(__FILE__)."/denied.php"); exit(); } else { /* 登陆成功则将用户常用信息采用SESSION暂存 */ session_name($row["id"]); $AUTH=$row["auth"]; session_register("AUTH"); mysql_free_result($result); } } }?>所用数据库为mysql,除了id,auth字段为整形其余字段均为字符型,字段长度可自己调整;其中id,user为UNIQUE所require的文件都要和本文件在同一目录,denied.php自己写一个就可以了。connect.inc.php如下:<?php$Server_host = "localhost"; /* MYSQL 主机名 */$Server_user = "root"; /* MYSQL 用户名 */$Server_passwd = ""; /* MYSQL 口令 */$Server_db = "test"; /* MYSQL 数据库名 */set_magic_quotes_runtime(0);$db_id = mysql_connect($Server_host, $Server_user, $Server_passwd) or die("无法连接到数据库服务器!");mysql_select_db($Server_db, $db_id) or die("不能使用指定的数据库!");?>后面需要认证的程序可以通过判断$AUTH是否已经注册过,以及根据$AUTH不同的值(用位运算)来确定程序执行的流程。php.ini中必须将 variables_order 设为 EGPCS关于这部分内容我也不是太懂,这里抛砖引玉,希望......高手之所以是高手,是因为他从不帮助别人吗?hmm... 广州PHPER聚会2007年白云山春游广州] 分享php开发技术交流群 正则表达式匹配url地址的问题求救 坐等解决:QQ互联后如何把头像保存在Ucenter 备份数据库的问题 感谢 php5.0怎么无法识别mysql_connect()函数. 我是一个刚刚涉足PHP的新手,大家能给我点学习提示么? 网页如何增加每天的汽车限号功能 php 与 sap 接口通信问题 php能否修改注册表?30分倾情奉献!!! 如何屏蔽掉PHP中的系统错误信息?
请问大哥,怎样实现php认证功能,服务器该怎样配置。
session_start();if (empty($HTTP_SERVER_VARS["PHP_AUTH_USER"]) or empty($HTTP_SERVER_VARS["PHP_AUTH_PW"])) { /* 输入不正确 */
Header("WWW-Authenticate: Basic realm=\"密码认证\"");
Header("HTTP/1.0 401 Unauthorized");
$login_flag = 0;
require (dirname(__FILE__)."/denied.php");
exit();
} else { /* 有输入则进行数据库查询 */
$login_user = $HTTP_SERVER_VARS["PHP_AUTH_USER"];
$login_pass = $HTTP_SERVER_VARS["PHP_AUTH_PW"]; require (dirname(__FILE__)."/connect.inc.php";
$query = "SELECT id,pass,auth FROM userauth WHERE user='$login_user'";
$result = mysql_query($query, $db_id) or die("使用数据表时发生错误!"); if (mysql_num_rows($result)==0) { /* 无该用户 */
Header("WWW-Authenticate: Basic realm=\"密码认证\"");
Header("HTTP/1.0 401 Unauthorized");
$login_flag = 1;
require (dirname(__FILE__)."/denied.php");
exit();
} else {
$row = mysql_fetch_array($result);
if ($login_pass != $row["pass"]) { /* 密码不正确 */
Header("WWW-Authenticate: Basic realm=\"密码认证\"");
Header("HTTP/1.0 401 Unauthorized");
$login_flag = 2;
require (dirname(__FILE__)."/denied.php");
exit();
} elseif (($row["auth"]&0x01)==0) { /* 帐号被禁止 */
$login_flag = 3;
require (dirname(__FILE__)."/denied.php");
exit();
} else { /* 登陆成功则将用户常用信息采用SESSION暂存 */
session_name($row["id"]);
$AUTH=$row["auth"];
session_register("AUTH");
mysql_free_result($result);
}
}
}
?>所用数据库为mysql,除了id,auth字段为整形其余字段均为字符型,字段长度可自己调整;
其中id,user为UNIQUE
所require的文件都要和本文件在同一目录,denied.php自己写一个就可以了。
connect.inc.php如下:
<?php
$Server_host = "localhost"; /* MYSQL 主机名 */
$Server_user = "root"; /* MYSQL 用户名 */
$Server_passwd = ""; /* MYSQL 口令 */
$Server_db = "test"; /* MYSQL 数据库名 */set_magic_quotes_runtime(0);$db_id = mysql_connect($Server_host, $Server_user, $Server_passwd) or die("无法连接到数据库服务器!");
mysql_select_db($Server_db, $db_id) or die("不能使用指定的数据库!");
?>
后面需要认证的程序可以通过判断$AUTH是否已经注册过,以及根据$AUTH不同的值(用位运算)来确定程序执行的流程。
php.ini中必须将 variables_order 设为 EGPCS
关于这部分内容我也不是太懂,这里抛砖引玉,希望......高手之所以是高手,是因为他从不帮助别人吗?hmm...