仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1986|回复: 19
打印 上一主题 下一主题

[学习教程] PHP网页设计php若何更好更无效的完成-----用户注册...

[复制链接]
海妖 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:29:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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学习心得,希望对给比我还新的新手们有所帮助,讲的不是很深刻,甚至有的想法可能是错误的,希望不要误导新人才好,大家要有自己的主见。
分手快乐 该用户已被删除
沙发
发表于 2015-2-4 13:13:15 | 只看该作者
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
灵魂腐蚀 该用户已被删除
板凳
发表于 2015-2-5 05:04:40 | 只看该作者
写的比较杂,因为我也是个新手,不当至于大家多多指正。
因胸联盟 该用户已被删除
地板
发表于 2015-2-9 00:18:46 | 只看该作者
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
深爱那片海 该用户已被删除
5#
发表于 2015-2-11 01:17:11 | 只看该作者
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
莫相离 该用户已被删除
6#
发表于 2015-2-26 11:09:02 | 只看该作者
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
小妖女 该用户已被删除
7#
发表于 2015-3-8 13:54:59 | 只看该作者
Ps:以上纯属原创,如有雷同,纯属巧合
飘飘悠悠 该用户已被删除
8#
发表于 2015-3-8 15:40:11 | 只看该作者
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
蒙在股里 该用户已被删除
9#
发表于 2015-3-9 14:25:26 | 只看该作者
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
飘灵儿 该用户已被删除
10#
发表于 2015-3-16 23:29:15 | 只看该作者
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
金色的骷髅 该用户已被删除
11#
发表于 2015-3-23 06:40:23 | 只看该作者
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
爱飞 该用户已被删除
12#
发表于 2015-3-23 16:10:03 | 只看该作者
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
若天明 该用户已被删除
13#
发表于 2015-3-23 18:06:27 | 只看该作者
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
老尸 该用户已被删除
14#
发表于 2015-3-25 01:30:19 | 只看该作者
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
简单生活 该用户已被删除
15#
发表于 2015-3-28 12:19:15 | 只看该作者
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
乐观 该用户已被删除
16#
发表于 2015-4-1 17:13:50 | 只看该作者
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
17#
发表于 2015-4-6 19:07:54 | 只看该作者
基础有没有对学习php没有太大区别,关键是兴趣。
海妖 该用户已被删除
18#
 楼主| 发表于 2015-4-7 15:50:29 | 只看该作者
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
冷月葬花魂 该用户已被删除
19#
发表于 2015-5-1 08:12:00 | 只看该作者
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
若相依 该用户已被删除
20#
发表于 2015-5-4 21:33:20 | 只看该作者
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-4 13:16

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表