--sample 1:

<!DOCTYPE html>
<html>
<head>
<title>登录</title>
<style type="text/css">
table{
margin:0 auto;
}
td{
text-align:center;
}
</style>
</head>
<body>
<form action="EX7_4_main.php" method="get">
<table border="0">
<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>

-sample 2

<?php
session_start();
$username=@$_GET['username']; //获取用户名
$password=@$_GET['password']; //获取密码

//本函数用于获取文本文件中的用户数据
function loadinfo()
{
$user_array=array();
$filename='EX7_4_info.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='EX7_4_login.php';</script>";
else
{
foreach($user_array AS $value) //遍历数组
{
list($user,$pwd)=$value;
if($user==$username&&$pwd==$password)
{
//使用Session将用户名和密码传到其他页面
$_SESSION['username']=$username;
$_SESSION['password']=$password;
echo "<div>您的用户名为:".$user."</div>";
echo "<br/>";
//得到EX7_4_QA.php中使用Session传来的值
if($points=@$_SESSION['QA_points'])
{
echo "您刚刚答题得到了".$points."分<br/>";
echo "<input type='button' value='继续答题'
onclick=window.location='EX7_4_QA.php'>";
}
else
{
echo "您还没有答题记录<br/>";
echo "<input type='button' value='开始答题'
onclick=window.location='EX7_4_QA.php'>";
}
}
}
}
}
else
echo "您尚未登录,无权访问本页";
?>

sample 3:

<?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年一个
<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)."分');";
echo "if(confirm('返回继续答题?'))";
echo "window.location='EX7_4_QA.php';";
echo "else ";
//使用get方法提交本页面的用户信息
echo "window.location='EX7_4_main.php?username=$username&password=$password';"; echo "</script>";
}
}
else
echo "您尚未登录,无权访问本页";
?>

PHP 简单答题系统的更多相关文章

  1. SSH网上答题系统质量属性

    我要做的事网上答题系统,通过注册登录到答题页面. 这其中数据库的连接靠Hibernate,数据库的增删改查用Sruts2实现. 关于Struts2的学习,仅仅在action的表面上,可以在action ...

  2. Android实训案例(九)——答题系统的思绪,自己设计一个题库的体验,一个思路清晰的答题软件制作过程

    Android实训案例(九)--答题系统的思绪,自己设计一个题库的体验,一个思路清晰的答题软件制作过程 项目也是偷师的,决心研究一下数据库.所以写的还是很详细的,各位看官,耐着性子看完,实现结果不重要 ...

  3. .Net简单图片系统-简介

    系统简介 最近做了一个简单图片系统,这个系统就是 将上传的的图片保存到系统本地文件系统或者基于fastdfs的分布式文件系统中,在查看图片时会直接请求此系统或者fastdfs的tracker服务器(需 ...

  4. 用Qt写软件系列三:一个简单的系统工具(上)

    导言 继上篇<用Qt写软件系列二:QIECookieViewer>之后,有一段时间没有更新博客了.这次要写的是一个简单的系统工具,需求来自一个内部项目.功能其实很简单,就是查看当前当前系统 ...

  5. 使用Struts2和jQuery EasyUI实现简单CRUD系统(转载汇总)

    使用Struts2和jQuery EasyUI实现简单CRUD系统(一)——从零开始,ajax与Servlet的交互 使用Struts2和jQuery EasyUI实现简单CRUD系统(二)——aja ...

  6. 利用SCI做的一个足球答题系统

    SCI,异步串行通信接口,内置独立的波特率产生电路和SCI收发器,可以选择发送8或9个数据位(其中一位可以指定为奇或偶校验位). SCI是全双工异步串行通信接口,主要用于MCU与其他计算机或设备之间的 ...

  7. Ubuntu学习笔记-win7&Ubuntu双系统简单搭建系统指南

    win7&Ubuntu双系统简单搭建系统指南 本文是自己老本子折腾Ubuntu的一些记录,主要是搭建了一个能够足够娱乐(不玩游戏)专注练习自己编程能力的内容.只是简单的写了关于系统的安装和一些 ...

  8. uu云验证码识别平台,验证码,验证码识别,全自动验证码识别技术,优优云全自动打码,代答题系统,优优云远程打码平台,uu云打码

    uu云验证码识别平台,验证码,验证码识别,全自动验证码识别技术,优优云全自动打码,代答题系统,优优云远程打码平台,uu云打码 优优云验证码识别答题平台介绍 优优云|UU云(中国公司)是全球唯一领先的智 ...

  9. ~Vue实现简单答题功能,主要包含单选框和复选框

    内容 实现简单答题效果 环境 Vue,webpack(自行安装) 实现方式 页面将答题列表传递给调用组件,组件将结果返回给调用页面(其它模式也ok,这只是例子) ------------------- ...

随机推荐

  1. hdu1181 dfs搜索之变形课

    原题地址 这道题数据据说比較水,除了第一组数据是Yes以外.其余都是No.非常多人抓住这点就水过了.当然了,我认为那样过了也没什么意思.刷oj刷的是质量不是数量. 这道题从题目上来看是个不错的 搜索题 ...

  2. UI 07 _ 导航视图控制器 与 属性传值

    首先, 先创建三个VC. 完毕点击按钮, 进入下一页, 并可以返回. 要先把导航视图控制器创建出来. 在AppDelegate.m 文件里代码例如以下: #import "AppDelega ...

  3. 【转载】HTTP协议与WEB本质

    当你在浏览器地址栏敲入"http://www.csdn.net/",然后猛按回车,呈现在你面前的,将是csdn的首页了(这真是废话,你会认为这是理所当然的).作为一个开发者,尤其是 ...

  4. MVC的验证(模型注解和非侵入式脚本的结合使用) .Net中初探Redis .net通过代码发送邮件 Log4net (Log for .net) 使用GDI技术创建ASP.NET验证码 Razor模板引擎 (RazorEngine) .Net程序员应该掌握的正则表达式

    MVC的验证(模型注解和非侵入式脚本的结合使用)   @HtmlHrlper方式创建的标签,会自动生成一些属性,其中一些属性就是关于验证 如图示例: 模型注解 通过模型注解后,MVC的验证,包括前台客 ...

  5. http协议的相关知识

    因为如今的工作设计的Web开发,因此了解了一下Http协议.在阅读了这篇文章HTTP协议具体解释(真的非常经典)后,总结了相关经常使用知识并列在此处以方便以后的查询. HTTP协议的主要特点可概括例如 ...

  6. 使用HD/IDE层的ioctl接口获取磁盘容量get_hdd_max_sector

    利用HD/IDE layer的ioctl函数接口获取HD/IDE的磁盘容量.HDIO_DRIVE_TASK  能发出訪问LBA地址的命令.但不能读写数据. #include <stdio.h&g ...

  7. 命令行方式下登录SqlPlus,密码含特殊字符

    全撞上了! 真难侍候!oracle 12c,想登录sql plus,结果没有图形界面,直接出来个命令行.这下好了,我这个数据库,多实例,意味着登录要指定实例:密码中含有特殊字符"@" ...

  8. select case when if

    select case when if 的一些用法 - 马丁传奇 - 博客园 https://www.cnblogs.com/martinzhang/p/3220595.html Write a SQ ...

  9. 清空sql 日志

    USE [master] GO ALTER DATABASE 库名 SET RECOVERY SIMPLE GO USE 库名 GO ,,TRUNCATEONLY) GO USE [master] G ...

  10. Linux下高并发socket最大连接数所受的各种限制(详解)

    1.修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每 ...