1 实验简介
实验目的:模拟网站账户的注册与登录等,实现对用户登录进行验证,在此过程中练习前面学过的HTML和PHP语法。
实验内容:
- 利用HTML表单让用户注册账号、密码。(假设账户为duzz,密码为123456)
- 利用PHP语句验证账户密码是否正确,成功则弹出欢迎界面,失败则提示失败并要求重新输入。
2 实验环境
服务端:本实验基于虚拟机win2008系统的WAMP环境进行,该环境相关配置过程参考文章《【语言环境】WAMP环境部署及优化—以win2008R2SP1为操作系统》 客户端:浏览器通过IP地址访问所编写网页。 服务端与客户端处于同一个局域网下。
3 实验具体过程—脚本编写
3.1 编写用户登录页面
编写用户登录表单login.html。
- 根据用户登录功能需求应该有账号和密码输入框,并且有登录按钮以提交数据。
- 根据页面处理功能需求,应该将登录页面数据提交给数据处理界面。
代码如下:
<html>
<meta charset="utf-8">
<h1>用户登录</h1>
<form
action="./get.php"
method="get"
>
用户名:<input type="text" name="userName"><br/>
密码:<input type="password" name="userPassword"><br/>
<input type="submit" name="userSubmit" value="登录">
</form>
</html>
3.2 编写登录信息判断页面
编写登录信息判断页面get.php,该网页与form.html存放在同一文件夹下。
- 判断用户是否从登录页面进入,用
isset($_GET[ ‘userSubmit’ ] 判断是否有提交按钮数据(isset()函数判断变量是否已定义);若存在则判断账号密码是否正确,若不存在则提示进行登录。 - 判断账号密码内容是否存在且是否正确,若正确则弹出欢迎界面,若错误则提示重新登录。
代码:
<meta charset="utf-8">
<?php
if(isset($_GET['userSubmit'])){
if(isset($_GET['userName']) && $_GET['userName']=='DuZZ'
&& isset($_GET['userPassword']) && $_GET['userPassword']==123456){
echo "Welcom, {$_GET['userName']}";
}
else{
echo "用户名或密码错误,<a href='./login.html'>请重新登录</a>";
}
}
else{
echo "ERROR!<a href='./login.html'>请通过表单登录</a>";
}
?>
4 实验验证
(1)在客户端打开浏览器,输入网址URLhttp://172.16.1.1/PHP/$_GET/login.html 访问服务器登录页面(服务器的IP为172.16.1.1,登录页面login.html放在网址默认路径下的PHP下的$_GET文件夹下),输入错误的账号密码,点击登录按钮。 (2)页面回复”用户名或密码错误,请重新登录“。 (3)点击”请重新登录按钮“,重新回到登录页面,输入正确的账号和密码,并点击登录。 (4)页面回复”Welcom, DuZZ“。网站页面间的访问顺序基本按照设想,实验成功。
5 实验拓展
(1)上述实验的http请求方法为get,若当http请求方法为post时,需要①将login.html登录页面中< form >标签中的method属性值改为post;②将get.php重命名为post.php,并将$_GET数组改为 $_POST. (2)当需要上传文件时,编写的代码如下,访问过程及执行结果如下
<html>
<meta charset="utf-8">
<h1>用户登录</h1>
<form
action=".\Upload.php"
method="post"
enctype="multipart/form-data"
>
用户名:<input type="text" name="userName"><br/>
头像上传:<input type="file" name="userFile"><br/>
密码:<input type="password" name="userPassword"><br/>
<input type="submit" name="userSubmit" value="登录">
</form>
</html>
<meta charset="utf-8">
<pre>
<?php
if(isset($_POST['userSubmit'])){
if(isset($_POST['userName']) && $_POST['userName']=='DuZZ'
&& isset($_POST['userPassword']) && $_POST['userPassword']==123456){
echo "Welcom, {$_POST['userName']} <br/>";
var_dump($_FILES);
}
else{
echo "用户名或密码错误,<a href='./login.html'>请重新登录</a>";
}
}
else{
echo "ERROR!<a href='./login.html'>请通过表单登录</a>";
}
?>
3)输入网址URLhttp://172.16.1.1/PHP/File_Upload/login.html 访问服务器登录页面 4)登录后,访问结果为
6 归纳
(1)熟悉HTML表单和标签的使用; (2)熟悉PHP预定义超全局变量的使用; (3)灵活使用PHP条件控制语句与HTML页面跳转标签。
|