|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我先把我自己学习PHP的过程做一下概括:页面|用户注册 当法式员的人应当都去过服装论坛,都在应当注册过服装论坛的用户吧.服装论坛上用户注册的步调分为几部:第一步 \ 协定页面, 只要赞同这个协定才可以进入下一步注册
第二步 \ 表单输出页面, 输出用户的注册信息
第三步 \ 注册了局页面,提醒注册胜利 在实践任务中,假如咱们要开辟完成这类注册页面,要注重良多的成绩:1\用户跳过"第一步",没有浏览协定页面,直接经由过程第二步的url直接会见表单输出页面.
2\用户在完成"第三步"的时分,一直的刷新页面,这个用户输出的信息就在每刷新一次的时分被从头保留一次
3\用户在完成"第三步"的时分,点击前进,修正某个信息后,再次提交. 相似这类得表单在web开辟的过程当中会常常碰着, 关于第3点, 几近今朝一切的服装论坛中都有这个成绩存在,;第2点在一些留言板中常常碰到, 然而怎样作才可以免上述的成绩呢?
明天老板让我帮他人做个文件上传的器材, 答应任何人来上传合适请求文件, 页面模板已设计好了, 就是和用户注册的步调是一样的, 分三步调. 之前做过相似的器材, 然而防刷新机制设计的不是很好. 归正明天没事做, 就略微研讨一下, 看看若何完成代码可以免上述的成绩.
-----------------------------------------------
-----------------------------------------------
上面是团体设计的完成代码,可以免上述的成绩. 经由过程阅读器会见register.php,在输出"用户名"和"地址"的时分, 两个都不克不及为空,为空的时分,会提醒毛病信息; 当两个输出框都不为空的时分, 可以提交胜利,提交胜利今后,你再停止刷新和前进,看看是否是到达了后果了.
文件一: config.inc.php
<?php
//入手下手session
session_start();
//设置不停止当地缓存
header('Expires: '.date('D,d M Y H:i:s',mktime(0,0,0,1,1,2000)).' GMT');
header('Last-Modified:'.gmdate('D,d M Y H:i:s').' GMT');
header('Cache-control: private, no-cache,must-revalidate');
header('Pragma: no-cache');
?>
文件二: register.php
<?php
require_once "config.inc.php";
if(isset($_SESSION[step2]) && isset($_POST[step2])) {
//注册的最初一步
$errorStr = formStep3();
if($errorStr!=null){
require_once('step2.html');
}else{
require_once('step3.html');
unset($_SESSION[step2], $_SESSION[step1]);
}
} else if(isset($_SESSION[step1]) && isset($_GET[step1])) {
//注册的第二步
require_once('step2.html');
$_SESSION[step2] = 1;
} else {
//注册的第一步
require_once('step1.html');
$_SESSION[step1] = 1;
}
//判别用户提交的表单的数据的 正确性 和 保留提交数据 的函数
function formStep3(){
$errors = array();
$errorStr = null;
if(strlen($_POST[username])<1) $errors[] = "用户名的长度不克不及为空";
if(strlen($_POST[address])<1) $errors[] = "地址的长度不克不及为空";
if(sizeof($errors)>0){
$errorStr .= "<br><font color=\"red\" size=\"2\">";
$errorStr .= "信息输出毛病:";
foreach($errors as $error)
$errorStr .= "<li>$error</li>";
$errorStr .= "</font><br><br>";
}else{
//用来保留用户输出的信息到数据库或其他中央
//这个保留的进程就略了
}
return $errorStr;
}
?>
模板文件一: step1.html
<font size="2"><strong>步调一 浏览《章程》</strong></font><br>
<textarea name="textarea" cols="20" rows="4" wrap="VIRTUAL">
第一条 不抽烟
第二条 不饮酒
第三条 不吃饭
</textarea>
<form name="form3" method="get" action="works.php"&
gt;
<input type="hidden" name="step1" value="1">
<input type="submit" value="我赞同">
<input type="button" value="我分歧意" >
</form>
模板文件二: step2.html
<strong><font size="2">步调二 提交挂号表</font></strong><br>
<form method="post" action="works.php">
<?=$errorStr ?>
<input type="hidden" name="step2" value="1">
输出挂号名:<input type="text" name="username" value="<?=htmlspecialchars($_POST[username]) ?>"><br>
输出地址:<input type="text" name="address" value="<?=htmlspecialchars($_POST[address]) ?>"><br>
<input type="submit" name="Submit4" value="提交">
</form>
模板文件三: step3.html
<font size="2"><strong>步调三 提交胜利</strong></font>
在这里想谈谈自己这六个多月的PHP学习心得,希望对给比我还新的新手们有所帮助,讲的不是很深刻,甚至有的想法可能是错误的,希望不要误导新人才好,大家要有自己的主见。 |
|