PHP会话控制实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PHP会话控制实验报告
班级:10网工三班学生姓名:谢昊天学号:1215134046
实验目的和要求:
1、使学生能够掌握PHP页面跳转的实现方法;
2、使学生掌握并熟练应用PHP的Cookie技术;
3、使学生掌握并熟练应用PHP的Session技术;
4、能够把Cookie技术和Session技术恰当的应用到网站设计中。
实验内容:
分别使用Cookie技术和Session技术完成PHP页面跳转过程中的信息传递功能。应用的背景是,该网站具有两个页面,一个页面完成用户的登录功能,该页面主要输入用户名和密码,并根据用户名和密码是否和数据库中记录一致,如果一致进入到用户成功登录的页面,否则弹出用户错误登录页面。用户成功登录和错误登录页面要输出登录页面的用户名及密码的内容。(注意密码要用MD5加密进行处理)
实验步骤与调试过程:
一、使用Cookie技术完成PHP页面跳转过程中的信息传递功能
1、用mysql建一个名为register的数据库,并建一个名为users的表。
2、在www文件中建一个名为cookie的文件夹,并在该文件夹中建三个文件
database.php、index.html和login.php。
3、分别在database.php、index.html和login.php加入相应代码(见于主要算法和程序清单)
4、运行index.html并输入用户名qq和密码qq,然后单击登录。
5、输入一个users表中不存在的用户名00和密码00,点击登录后。
二、使用Session技术完成PHP页面跳转过程中的信息传递功能
1、用mysql建一个名为register的数据库,并建一个名为users的表。
2、在www文件中建一个名为cookie的文件夹,并在该文件夹中建三个文件database.php、index.html和login.php。
3、分别在database.php、index.html和login.php加入相应代码(见于主要算法和程序清单)
4、运行index.html并输入用户名22和密码22,然后单击登录。
5、输入一个users表中不存在的用户名00和密码00,点击登录后。
实验结果:
一、
1、输入用户名qq和密码qq结果和刷新后结果:
输入后结果:
用户名和密码输入正确!登录成功!
HTTP请求头中没有名字为name的Cookie
HTTP请求头中没有名字为password的Cookie
刷新后结果:
用户名和密码输入正确!登录成功!
099b3b060154898840f0ebdfb46ec78f
2、输入用户名00和密码00结果:
用户名和密码输入错误!登录失败!
099b3b060154898840f0ebdfb46ec78f
二、
1、输入用户名22和密码结果:
输入后结果:
用户名和密码输入正确!登录成功!
22
b6d767d2f8ed5d21a44b0e5886680cb9
2、输入用户名00和密码00结果:
用户名和密码输入错误!登录失败!
22
b6d767d2f8ed5d21a44b0e5886680cb9
实验总结:
通过本次试验,我对PHP会话控制思想有了进一步的了解,通过动手实现PHP 会话控制的编程及运行,更加深刻的理解了PHP会话控制的特点。验证了cookie 和session的工作原理,cookie在第一次请求时并不调用cookie,而是在第二次请求时调用cookie;session在第一次请求时就可以调用;掌握了PHP页面跳转的实现方法;掌握并熟练应用PHP的Cookie技术;掌握并熟练应用PHP的Session 技术;能够把Cookie技术和Session技术恰当的应用到网站设计中。同时,在实验过程中,回顾书本上的理论知识,巩固了我的知识。
主要算法和程序清单:
一、
index.html代码:
database.php代码:
$databaseConnection = null;
function getConnection(){
$hostname = "localhost"; //数据库服务器主机名,可以用IP代替
$database = "register"; //数据库名
$userName = "root"; //数据库服务器用户名
$password = ""; //数据库服务器密码
global $databaseConnection;
$databaseConnection = @mysql_connect($hostname, $userName, $password) or die(mysql_error()); //连接数据库服务器
mysql_query("set names 'gbk'");//设置字符集
@mysql_select_db($database, $databaseConnection) or die(mysql_error());
}
function closeConnection(){
global $databaseConnection;
if($databaseConnection){
mysql_close($databaseConnection) or die(mysql_error());
}
}
?>
login.php代码:
include_once("database.php");
//收集表单提交数据
$userName = $_POST['userName'];
$password = $_POST['password'];
//连接数据库服务器
getConnection();
//判断用户名和密码是否输入正确
$sql = "select * from users where userName='$userName' and password='$password'";
$resultSet = mysql_query($sql);
if(mysql_num_rows($resultSet)>0){
$time = time()+3600;
setcookie("userName","$userName",$time);
setcookie("password","$password",$time);
echo "用户名和密码输入正确!登录成功!";
}else{
echo "用户名和密码输入错误!登录失败!";