PHP-PHP互动网页

PHP互动网页

一、完成PHP互动网页的制作

使用PHP接收表单数据,使用PHP获取URL参数,在页面间使用Session,灵活使用页面跳转。制作一个需要登录的智力问答系统。用户登录后可以进行智力问答,问答完后,系统会计算其所得分数。

  • 制作登录表单:SY7_1.txt:
user1|123456
user2|654321
user3|111111
  • 登录页面:SY7_1_login.php:
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>login.php</title>
	<style type="text/css">
      table{
    margin:0 auto; }
      td{
    text-align:center; }
   </style>
</head>
<body>
	<form action="SY7_1_main.php" method="get">
		<table>
		  <tr><td>用户名<input name="username" type="text"></td></tr>
		  <tr><td>密码  <input name="password" type="password"></td></tr>
		  <tr>
			 	<td colspan="2">
				 	<input type="submit" name="Submit" value="登录">
				  <input type="reset" name="Submit2" value="重置">
				</td>
			</tr>
		</table>
	</form>
</body>
</html>
  • 制作主页面:SY7_1_main.php:
<?php                                           
   //启动Session (修改 output_buffering = On 重启Apache)
   session_start();
   $username=@$_GET['username'];	        //获取用户名
   $password=@$_GET['password'];	        //获取密码
   
   function loadinfo(){
                            //本函数用于获取文本文件中的用户数据
   	$user_array=array();
      $filename='SY7_1.txt';		        //用户信息文件
      $fp=fopen($filename,"r");			//fopen()打开文件
      $i=0;
      while($line=fgets($fp,1024)) {
               //fgets()读取文件 -- 一行赋值给变量(字符串)
			 list($user,$pwd)=explode('|',$line);	//explode()字符串转为数组--list()将数组中的值赋值给变量
			 $user=trim($user);			//去掉首尾特殊符号
			 $pwd=trim($pwd);						
			 $user_array[$i]=array($user,$pwd);	//array()创建数组-再赋值给数组user_array--成为二维数组
			 $i++;
			}
			fclose($fp);
      return $user_array;			//返回二维数组user_array
    }
    
   $user_array=loadinfo();	    //调用loadinfo()读用户密码文件--用户名和密码保存在数组user_array中
   
   if($username) {
                     //这一句不要会怎样
                                                                  
      if(!in_array(array($username,$password),$user_array))                    
	      //注意是一个一维在二维数组中是否存在
	      //in_array()判断数组中是否存在某个值
	      echo "<script>alert('用户名或密码错误!');location='SY7_1_login.php';</script>";
      
      else {
   
			 	foreach($user_array AS $value)	{
   	                 //遍历数组
			    list($user,$pwd)=$value;                             //list()将数组中的值赋值给变量
			    if($user==$username&&$pwd==$password) {
   
			    	$_SESSION["username"] = $username;//【代码2】; //注册Session--将用户名传到其他页面
			    	$_SESSION["password"] = $password;	//【代码3】; //注册Session--将密码传到其他页面
						echo "<div>您的用户名为:".$user."</div>";
						echo "<br>";
						if($points=@$_SESSION['QA_points']){
                //得到QA.php中使用Session传来的值
							echo "您刚刚答题得到了".$points."分<br/>";
							echo "<input type='button' value='继续答题' οnclick=window.location='SY7_1_QA.php'>";
						}
						else {
   
							echo "您还没有答题记录<br/>";
							echo "<input type='button' value='开始答题' οnclick=window.location='SY7_1_QA.php'>";
						}
					}
				}
			}
		}
	else
		echo "您尚未登录,无权访问本页";
?>
  • 制作问答页面:SY7_1_QA.php
<?php
   session_start(); //启动Session
   $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年一个
    <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分钟吃1个,这些药丸多久后会被吃完?<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>
<?php
      if(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_points"]= $i*20;  //注册Session将答题所得分数传到其他页面
         echo " <script> alert('您一共答对".$i."道题,得到".($i*20)."分'); ";   
         //PHP嵌入JS 
         echo " if(confirm('返回继续答题?')) ";
         echo " window.location='SY7_1_QA.php'; ";                         
         echo " else ";                                                          
         echo " window.location='SY7_1_main.php?username=$username&password=$password'; ";//跳转到main.php
         echo " </script> ";  //并使用URL提交本页面的用户信息
      }
   }  
   else
      echo "您尚未登录,无权访问本页!";
?>

登录页面:

主页面:

问答页面:

计算得分:

继续大题返回主页面:

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

<!DOCTYPE html> 
<html>
<head>
  <title>文本文件的分页读取</title>
</head>

<body>
  <center> <font size=5 face="华文楷体" color="blue">PHP分页显示</font></center>
  <div style="margin:0 auto; width:600px; height:400px; border:solid 2px #FF0000; background-color:#00FFFF;line-height:25px; ">
     <!-- 分页显示文本信息 -->
     <?php 
        $page_curr=$_GET['page']=="" ? 1:$_GET['page'];  //获取当前页码--$_GET['page']获取URL参数(?page=数字)
        if($page_curr) {
   
           $contents = file_get_contents('SY7_2.txt');  //file_get_contents()读取文本文件
           $length=strlen($contents); //strlen()获取字符串长度(英文字母为1汉字为2)
           
           $page_count = ceil($length/800);
           //计算页数(每页800)--ceil()返回不小于参数的下一个整数
           echo substr($contents, ($page_curr-1)*800, 800);
           //*** substr(string,start,length) *** 浏览器输出一页
        }
     ?>      
  </div>
  <!--显示分页超连接-->
  <div align="center">
     <?php
        echo "<br>";
        echo "<共".$page_count."页> <第".$page_curr."页>";                 //$page_count总页数-$page_curr当前页数
        if($page_count!=1 && $page_curr!=1) {
                      
           echo "<a href='?page=1'><首页></a>";
           //页面跳转--首页--使用URL传递数据 
           echo "<a href='?page=".($page_curr-1)."'><上一页></a>";
           //页面跳转上一页--使用URL传递数据
        }
        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>

SY7_2.txt:

生活小窍门<br>
1、炒菜时,不要加冷水,冷水会使菜变老变硬不好吃,而加开水炒出来的菜又脆又嫩。<br>
2、炒藕丝时,一边炒一边加些水,能防止藕变黑。<br>
3、炒鸡蛋时,一个蛋加一汤匙温水搅匀,就不会炒老,而且炒出的蛋量多,松软可口。<br>
4、豆腐下锅前,可先放在开水里浸渍一刻钟,这样可清除泔水味。<br>
5、用冷水炖鱼无腥味,并应一次加足水,若中途再加水,会冲淡原汁的鲜味。<br> 
6、蒸鱼或蒸肉时待蒸锅的水开了以后再上屉,能使鱼或肉外部突然遇到高温蒸气而立即收缩,内部鲜汁不外流,熟后味道鲜美,有光泽。<br>
7、熬骨头汤时,中途切莫加生水,以免汤的温度突然下降导致蛋白质和脂肪迅速凝固,影响营养和味道。<br>
8、煎荷包蛋时,在蛋黄即将凝固之际,可浇上一汤匙冷开水,会使蛋熟后又黄又嫩,色味俱佳。<br>
9、熬猪油时,先在锅内放入少量水,再将切好的猪油放入,这样熬出来的油,颜色晶亮而无杂质。<br>

生活巧用醋<br/>
1、外出容易晕车,如喝下不很酸的食醋水,可以清爽精神,减轻晕车症状。<br>
2、失眠,可将一汤匙食醋倒入冷开水中,搅匀喝下,即可迅速入睡。如果加入等量的蜂蜜,则效果更佳。<br>
3、有人发生昏厥,可把手帕浸过食醋后捂在昏厥者的鼻子上,刺激患者清醒。 <br>
4、新购的瓷制餐具、茶具、酒具、放入10%的醋水内煮上两三小时后再用,可除去新瓷器所含的微量铝,避免铝毒危害身体。<br>
5、在烹调水产品蟹、是、海蜇时,先用1%的醋液浸泡一小时,可防止嗜盐杆菌引起的食物中毒。<br>
6、醋煮花生米或黄豆,是高血脂、肥胖症和高血压、冠心病患者的佳肴,具有隆脂、隆压的疗效。<br>
7、宴饮进食,如感胸满腹胀,可用醋50毫升加水至100毫升冲淡服下,增加胃酸,促进消化。<br>
8、饮酒过量已有醉意者,可服50%食醋100至200毫升,解酒毒、养肝肾。<br>
9、餐后的食具,如果使用1%食醋液煮沸消毒,可防止病毒性肝炎、痢疾等传染病。<br>

醋的妙用<br>
1、醋是家庭烹调的必备调味品。 在醋内加上两滴白酒和一点盐,即可成为香醋。在煮肉或马铃薯时,加上少量醋就容易炖烂,味道亦好。煮甜粥时加点醋,可使甜粥更甜。<br>
2、擦皮鞋时,滴上一滴醋,能使皮鞋光亮持久:铜、铝器用旧了,用醋涂擦后清洗,就能恢复光泽;宰鸡杀鸭前20分钟,给鸡鸭灌上一汤匙醋, 拨毛就变得轻而易举了。<br>
3、玻璃上的油漆,用醋浸软后一擦就掉;丝品洗净后,放在加入少量醋的清水中浸泡几分钟,晾干后光泽如新:毛料衣服磨光的地方,用50%浓度的醋水抹,然后用湿布铺垫熨烫,亮斑即可消失。<br>
4、醋还有消毒杀菌作用。用醋拌的凉菜卫生爽口;用醋蒸熏房间,能杀菌防流感;每天用40%的醋水溶液,加热后洗头可防治脱发,头屑过多;用醋调石灰粉,涂敷腋下,每日二次能治疗狐臭。<br>

残茶的妙用<br>
1、湿茶叶可以取掉容器里的鱼腥味和葱味。<br>
2、可以煮茶叶鸡蛋,其味道清香,非常可口。<br>
3、用残茶叶擦洗有油腻的锅碗、木、竹桌椅,可使该物品更为光洁。<br>
4、把残茶叶晒干,铺撒在潮湿处,能够去潮。<br/>
5、残茶叶晒干后,还可以装入枕套充当枕芯,枕之非常柔软。<br>
6、把茶叶撒在地毯或路毯上,再用扫帚拂去,茶叶能带走全部尘土。<br> 
7、将残茶叶浸入水中数天后,浇在植物根部,可以促进植物生长。<br>
8、残茶叶还可以喂养刚出的小蚕。<br>
9、把残茶叶晒干,放到厕所或沟渠里燃熏,可消除恶臭,具有驱除蚊绳的功能。<br>

西瓜皮的妙用<br>
1、削去青皮,将其切成小方快或细丝,加上盐、酱油、糖等佐料,与辣椒同炒,清脆、香甜、可口。<br>
2、将去皮切成的小块或小条的瓜条,入水煮沸,再下入番茄、鸡蛋、些汤不仅味佳色艳,而且能消署利尿。<br> 
3、把去皮后的瓜皮切成细长小条,用食盐腌2~3小时后,将盐水沥出,再加酱油、醋或麻油等佐料搅拌,即可食用。<br> 
4、将去皮瓜皮、切成薄片,入在碗里,上铺火腿片,加上调料,上锅清蒸,其味鲜美,清香四溢。<br>

淘米水的妙用<br>
1、用淘米水洗浅色衣服易去污,而且颜色鲜亮。<br>
2、沉淀后的淘米水再加热水,可以用来浆衣服。<br>
3、用淘米水洗手,可用滋润皮肤作用。<br>
4、用淘米水漱口,可以治疗口臭或口腔溃疡。<br> 
5、将带腥味的菜,放入加盐的淘米水中搓洗,再用清水冲净,可去腥味。<br>
6、把咸肉放在淘米水里浸泡半天,可去些咸味。<br>
7、用淘米水洗腊肉要比用清水洗得干净。<br>
8、用淘米水洗猪肚,比用盐或骨矾搓洗省劲、省事、且干净、节约。<br>
9、常用淘米水洗泡的菜刀不易生锈。生锈的菜刀泡在淘米水中数小时后,容易擦干净。<br>
10、淘米水浇灌花木或蔬菜,可使其长得更茁壮。<br>
11、用淘米水擦洗后的油漆家具,比较明亮。<br>
12、用淘米水擦拭新漆器,4~5次后,能除去臭味。<br> 



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

  • SY7_3_login.php:
<!DOCTYPE html>
<center>
  <font size=5 face="华文楷体" color="blue">PHP--COOKIE</font>
</center>
<form method="post" action="SY7_3_main.php">
  <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) {
    //首次运行$_COOKIE['remember']不存在
               echo "<input type='checkbox' name='remember' value='1' checked>";
            }
            else {
       //首次运行执行的是else
               $_COOKIE['remember'] == "" ; //删除$_COOKIE['remember']的值
               echo "<input type='checkbox' name='remember' value='1'>";
            }
         ?>
      </td>
    </tr>
    <tr align="center">
      <td colspan="2"><input type="submit" name="Submit" value="提交" /></td>
    </tr>
  </table>
</form>
  • SY7_3_main.php:
<!DOCTYPE html> 
<?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);

      //创建Cookie -- 1小时后失效
      //修改 output_buffering = On 重启Apache
   }
   else {
     
      setcookie("username", $username, time()-3600);   //没有选择记住用户名和密码 
      setcookie("password", $password, time()-3600);
      setcookie("remember", $remember, time()-3600);
      //立即删除Cookie 
   }  
   echo "<a href='SY7_3_login.php'>返回</a>"; 
?> 


创作不易,喜欢的话加个关注点个赞,谢谢谢谢

全部评论

相关推荐

预计下个星期就能开奖吧,哪位老哥来给个准信
华孝子爱信等:对接人上周说的是这周
投递华为等公司10个岗位 >
点赞 评论 收藏
分享
offer多多的六边形战士很无语:看了你的博客,感觉挺不错的,可以把你的访问量和粉丝数在简历里提一下,闪光点(仅个人意见)
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
10-05 10:13
已编辑
HHHHaos:让这些老登来现在秋招一下,简历都过不去
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务