实验07 PHP互动网页

实验目的

(1)掌握PHP的URL处理和页面跳转的方法;(2)掌握PHP中cookie和session的基本应用

实验内容

一、完成教材P308~312实验7.1 (文件名分别为SY7_1.txt、SY7_1_login.php、SY7_1_main.php和SY7_1_QA.php)-- session的应用

SY7_1.txt

user1|123456
user2|654321
user3|111111

SY7_1_login.php

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title></title>
</head>
<body>
<form action="SY7_1_main.php" method="get">
<table border="0" align="center">
<tr><td align="center">用户名</td><td><input type="text" name="username"></td></tr>
<tr><td align="center">密码</td><td><input type="password" name="password" size="21"></td></tr>
<tr><td colspan="2" align="center">
<input type="submit" name="Submit" value="登录">
<input type="reset" name="Submit2" value="重置"></td></tr>
</table>
</form>
</body>
</html>

SY7_1_main.php

<?php
header("content-type:text/html;charset=utf-8");
?>
<?php
session_start();
$username=@$_GET['username'];
$password=@$_GET['password'];
function loadinfo()
{$user_array=array();$filename='SY7_1.txt';$fp=fopen($filename,"r");$i=0;while ($line=fgets($fp,1024)){list($user,$pwd)=explode('|', $line);$user=trim($user);$pwd=trim($pwd);$user_array[$i]=array($user,$pwd);$i++;}fclose($fp);return $user_array;
}
$user_array=loadinfo();
if ($username)
{if (!in_array(array($username,$password),$user_array))echo "<script>alert('用户名或密码错误!');location='SY7_1_login.php';</script>";else{foreach ($user_array as $value) {list($user,$pwd)=$value;if($user==$username&&$pwd==$password){$_SESSION['username']=$username;$_SESSION['password']=$password;echo "<div>您的用户名为:".$user."</div>";echo "<br/>";if ($points=@$_SESSION['QA_points']) {echo "您刚刚答题得到了".$points."分<br/>";echo "<input type='button' value='继续答题'οnclick=window.location='sy7_1_QA.php'>";}else{echo "您还没有答题记录<br/>";echo "<input type='button' value='开始答题'onclick=window.location='sy7_1_QA.php'>";}}}}
}
else
echo "您尚未登录,无权访问本页";
?>

SY7_1_QA.php

<?php
session_start();
$username=@$_SESSION['username'];
$password=@$_SESSION['password'];
if($username){echo $username."请回答一下题目:<br/>";?><form method="post" action=""><div>1.农夫有17只羊,除了9只以外都死了,农夫还剩几只羊?<br/><input type="radio" name="q1" value='1'>17<input type="radio" name="q1" value='2'>9<input type="radio" name="q1" value='3'>8</div><br/><div>2.大月有31天,小月有30天,那么一年中有几个月有28天?<br/><input type="radio" name="q2" value='1'>1个<input type="radio" name="q2" value='2'>4年1个<input type="radio" name="q2" value='3'>12个</div><br/><div>3.小明的妈妈有三个小孩,老大叫大毛,老二叫二毛,老三叫什么?<br/><input type="radio" name="q3" value='1'>三毛<input type="radio" name="q3" value='2'>小明<input type="radio" name="q3" value='3'>不知道</div><br/><div>4.英国有没有七月四日(美国独立纪念日)?<br/><input type="radio" name="q4" value='1'>有<input type="radio" name="q4" value='2'>没有<input type="radio" name="q4" value='3'>不知道</div><br/><div>5.医生给你3个药丸,要你每30分钟吃一个,这些药丸多久后会被吃完?<br/><input type="radio" name="q5" value='1'>90分钟<input type="radio" name="q5" value='2'>60分钟<input type="radio" name="q5" value='3'>30分钟</div><br/><input type="submit" value="提交" name="submit"></form>
<?phpif (isset($_POST['submit'])) {$q1=@$_POST['q1'];$q2=@$_POST['q2'];$q3=@$_POST['q3'];$q4=@$_POST['q4'];$q5=@$_POST['q5'];$i=0;if ($q1=="1") $i++;if ($q2=="3") $i++;if ($q3=="2") $i++;if ($q4=="1") $i++;if ($q5=="2") $i++;$_SESSION['QA_point']=$i*20;                    //使用Session将答题所得分数传到其他页面echo "<script>alert('您一共回答对".$i."道题,得到".($i*20)."分');";echo "if(confirm('返回继续答题?'))";echo "window.location='sy7_1_QA.php';";echo "else";//使用GET方法提交本页面的用户信息echo "window.location='SY7_1_main.php?username=$username&password=$password';";echo "</script>";}
}
elseecho "您尚未登录,无权访问本页";
?>

运行结果:





二、用URL和页面跳转实现分页显示(文件命名为SY7_2.php)–URL处理和页面跳转的应用

SY7_2.php

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>文本文件的分页读取</title>
</head>
<body>
<center><font size="5" face="华文楷体" color="blue">PHP分页显示</font></center>
<div style="margin:0 auto; width:600px;height:300px;border:solid 2px #FF0000; background-color:#00FFFF;line-height:25px;">
<?php$page_curr=$_GET['page']==""? 1:$_GET['page'];if ($page_curr){$contents=file_get_contents("SY7_2.txt");$length=strlen($contents);$page_count=ceil($length/800);echo substr($contents, ($page_curr-1)*800,800);//浏览器输出一页}
?>
</div>
<div align="center"><?phpecho "<br>";echo "<共".$page_curr."页><第".$page_curr."页>";if ($page_count!=1 && $page_curr!=1) {echo "<a href='SY7_2.php?page=1'><首页></a>";echo "<a href='?page=".($page_curr-1)."'><上一页></a>";}if ($page_curr<$page_count) {echo "<a href='?page=".($page_curr+1)."'><下一页></a>";echo "<a href='SY7_2.php?page=".($page_count)."'><尾页></a>";}?>
</div>
</body>
</html>>
海绵宝宝是方块形的黄色海绵,住在比基尼海滩(裤头村、比奇堡)的一个菠萝里,他的宠物是一只会“猫~猫~”叫的海蜗牛小蜗,海绵宝宝喜欢捕捉水母,职业是蟹堡王(The Krusty Krab)里的头号厨师。派大星和姗迪都是他的朋友。海绵宝宝总是能给平静的世界制造麻烦,虽然闹出一些笑话,不过他总能摆脱困境,然后又制造出新的麻烦海绵宝宝
演员 海绵
配音 汤姆·肯尼
《海绵宝宝》的同名角色及主角。黄色长方形海绵,其身体构成如同清洁用海绵。生日是1986年7月14日。拥有两只左手,各四根手指。以棕色短裤、白色衬衫和红色领带为主要服装。具有不死之身,即使身体如何被破坏皆可恢复原状。虽然有正常进食,但纯滤食海水也能继续存活。体力薄弱,且所谓的哑铃其实是绒毛玩具。派大星
演员 海星
配音 比尔·法格巴克
粉红色的海星。智商极低,头脑与身体仅使用插头连结。做什么事都会搞砸,但开船却异常厉害,居住在一块大型圆形石头底下。懒惰并相当孩子气,时常在无意间呆滞的流口水,且讨厌洗澡、也不爱洗手、偏爱睡觉。兴趣是看电视。跟海绵宝宝的交情最好;并时常鼓励海绵宝宝做出一些危险行动,往往让彼此陷入困境。章鱼哥
演员 六爪章鱼
配音 罗杰·布帕斯
大鼻子章鱼,容易愤怒且势利眼,相当自恋,自以为拥有艺术才能。目是光头,但曾有过黄色长卷发。居住在一栋仿复活节岛人像的房屋。担任"蟹堡王餐厅"的柜台人员,但并不喜欢自己的工作,喜欢吹奏竖笛及采用多种风格画自画像。讨厌海绵宝宝和派大星,偶尔会对海绵宝宝表达认同,但通常是对他自己有利的时候。蟹老板
演员 螃蟹
配音 克莱希·布朗
红色螃蟹,本名蟹阿金。视金钱如生命,经常为了一块钱而去冒生命危险,极为自私。快餐店"蟹堡王餐厅的经营者,多次向员工宣导要有时间观念,因为"时间就是金钱"。只要发现能发短财的产品,就会忽视老本美味蟹堡并转换目标。营业时间常在办公室看报纸、数钱、洗金钱浴等,喜欢看讽刺戏剧,和痞老板是死对头。痞老板
演员 浮游生物
配音 道格·劳伦斯
蟹老板的死对头,《海绵宝宝》的主要反派角色。由1%的邪恶和99%的热毒气组成。只有一只眼睛,时常刺痛(因为他忘记眨眼)。快餐店“海之霸餐厅”的老板。他的妻子是电脑,名叫凯伦。为了让自己的餐厅生意兴隆,一直偷取蟹堡王著名料理“美味蟹堡”的祖传秘方,却从未成功,最大的希望是统治全世界。

运行结果:

三、用cookie实现记住用户名和密码(文件命名为SY7_3_login.php和SY7_3_main.php)-- cookie的应用

SY7_3_login.php

<!DOCTYPE html>
<meta charset="utf-8">
<center><font size="5" face="华文楷体" color="blue">PHP--COOKIE</font></center>
<form action="SY7_3_main.php" method="post"><table width="300" border="1" align="center" cellpadding="0" cellspacing="0"><thead><tr><td colspan="2" align="center"><b>记住用户名和密码</b></td></tr></thead><tr align="center"><td>用户名:</td><td><input type="text" name="username" value=""><?php echo $_COOKIE['username'];?></td></tr><tr align="center"><td>密 码:</td><td><input type="password" name="password" value=""><?php echo $_COOKIE['password']?></td></tr><tr align="center"><td>记住用户名和密码</td><td><?php if($_COOKIE['remember'] == 1){?><input type="checkbox" name="remember" value="1" checked><?php }else{($_COOKIE['remember'] == "")?><input type="checkbox" name="remember" value="1"><?php }?></td></tr><tr align="center"><td colspan="2"><input type="submit" name="Submit" value="提交"></td></tr></table>
</form>

SY7_3_main.php

<!DOCTYPE html>
<meta charset="utf-8">
<?php$username = $_POST['username'];$password = $_POST['password'];$remember = $_POST['remember'];echo "用户名:$username<br>密码:$password<br>";if ($remember==1) {setcookie('username',$username,time()+3600);setcookie('password',$password,time()+3600);setcookie('remember',$remember,time()+3600);}else{setcookie('username',$username,time()-3600);setcookie('password',$password,time()-3600);setcookie('remember',$remember,time()-3600);}echo "<a href='sy7_3_login.php'>返回</a>";
?>

运行结果:

实验07 PHP互动网页相关推荐

  1. 为你的移动页面寻找一丝新意——手机互动网页项目总结(上)

    一.硬件背景 二.项目欣赏 1.TGA移动游戏官网 2.UP+邀请函 3.天天酷跑里约进击版 三.技术创意点 1.CSS3动画 2.Sprite动画 3.重力感应+视差 4.字体图标 5.自适应SVG ...

  2. web实验2 制作简单网页(HTML+CSS)

    web实验2 制作简单网页(HTML+CSS) 一.实验目的 1.掌握文本样式的设置. 2.掌握图像样式的设置. 3.掌握各种媒体的插入方法. 二.实验内容 采用DIV+CSS,制作"在线电 ...

  3. 2022秋季C语言专题实验07

    2022秋季C语言专题实验07 指针应用-查找数组元素 请编写函数CHG(char *S) 7-1 秋天的第一杯奶茶 7-2 统计单词 7-3 找最大字符串 7-4 字符串排序 7-5 缩写期刊名 7 ...

  4. 信息安全实验五 之 计算机病毒与黑客实验脚本【恶意网页病毒演示病毒制作木马捆绑】

    信息安全实验五 之 计算机病毒与黑客实验脚本[恶意网页病毒演示&病毒制作&木马捆绑] 一.脚本及恶意网页病毒演示实验 1.创建文件 2.拷贝文件 3.删除文件 4.修改文件 二.病毒详 ...

  5. 吉大21c语言在线作业,21春吉大《脚本语言和互动网页设计》在线作业二参考

    吉大<脚本语言和互动网页设计>在线作业二' S3 X# M4 O& r 1.[单选题] 下面哪项不是application对象的方法() ; A* b$ f- `7 [4 u; B ...

  6. 构建php互动页面,第5章+构建PHP互动网页.ppt

    <第5章+构建PHP互动网页.ppt>由会员分享,可在线阅读,更多相关<第5章+构建PHP互动网页.ppt(27页珍藏版)>请在人人文库网上搜索. 1.5.1 表单数据的提交方 ...

  7. html基础实验的实验原理,html网页设计实验报告.doc

    html网页设计实验报告.doc 学 生 实 验 报 告实 验 课 名 称 web 应 用 开 发 技 术实 验 项 目 名 称 静 态 网 页 制 作专 业 名 称计算机科学与技术班 级学 号 学 ...

  8. web实验报告——JSP动态网页编程

    实验报告 一. 基本思路及实验结果(记录各种运行情况或页面的运行效果): 1.使用TOMCAT服务器配置jsp应用 1)打开TOMCAT/webapps子目录,创建一web应用(如myweb),将ex ...

  9. mysql中实现分类统计查询的步骤_实验07:数据库的组合查询和统计查询

    实验6:数据库的组合查询和统计查询实验 本实验需要 4 学时. 一.实验目的 使学生熟练掌握SQL Server 查询分析器的使用方法,加深对SQL 和Transact-SQL 语言的查询语句的理解. ...

最新文章

  1. CTFshow 文件上传 web166
  2. 同步通信和异步通信的区别
  3. java rc4_nodejs 和 java 进行 rc4 加密得到的结果不一样
  4. Spring中异步注解@Async的使用、原理及使用时可能导致的问题
  5. Fence(CF-324F)
  6. oa工作流 源码_oa管理系统工作流是什么?类型、优势、功能有哪些?
  7. ❤️ 爆赞,基础又全面的Linux命令合集!学都学不完...【汇总】
  8. hdu 4318 Power transmission 临接表 广搜 多校联合赛(二) 第九题
  9. java datatable用法_C# DataTable用法示例详解|DataTable Select,sort排序,Linq过滤操作
  10. 约瑟夫环c语言程序完整版,约瑟夫环的C语言实现
  11. 1.如何判断正交表对错
  12. 学习开源硬件:开源IP,开源RISC-V与开源SoC等
  13. [计算机网络】【网络设备】虚拟局域网
  14. 自定义Tab切换+自定义CheckBox+light7无限滑动/下拉刷新
  15. Zabbix设置主动模式与被动模式
  16. C# 之 Math取整数
  17. 香港中文大学教授、麻省理工牛人林达华解说现代数学体系
  18. UDP/ICMP协议简介
  19. 【微软资源站】MSDN
  20. [读书笔记]《算法竞赛入门经典》第1章

热门文章

  1. catia中画螺杆 螺纹
  2. 百科:产品生命周期理论
  3. 前端开发工具HbuilderX的使用技巧
  4. java List 根据某个字段进行升降序排列
  5. pycharm运行Project Interpreter是空的怎么办?
  6. 如何将图片裁剪成规定尺寸?怎样裁剪多余画面尺寸?
  7. Webstrom取消下划线
  8. Android智能手机安全解决方案
  9. [沟通能力] 述职,你搞定了吗?
  10. Python中pass的作用