php说说

来源:娱乐搞笑 发布时间:2013-10-07 点击:

php说说篇一

2015年-PHP面试题

说明:

1.

2.

3.

4. 了解每道题考察的是那方面的知识点; 回答时注意找到重点 通过一道题能扩展更多内容去了解 红色部分的题难度稍高一点

Linux部分

简答题:

1. 简述Linux下安装PHP的过程?

2. 简述Linux下安装Mysql的过程?

3. 简述Linux下安装apache的过程?

4. 监视一个日志文件a.log 的最新内容?

5. 查看当前服务器的HTTP连接有哪些?

6. 说说Linux下的find命令和grep命令的区别?

7. 如何实现每天0点钟重新启动服务器?

8. 请写出5个常用的unix操作命令?

9. rm -rf * 是什么意思,其中 f 有什么作用?

10. Linux压缩文件和解压文件的命令?

11. Linux的目录进行遍历,编写shell脚本?

12. apache默认使用进程管理还是线程管理?如何判断并设置最大连接数?

13. 当前目录下有一个文件为 showme.sh , 如何修改文件,将其指定为使用 /bin/bash 运

行,如何修改其权限为所有用户可读写,所有用户可执行?

14. 当前目录下有一个文件为 showme.sh,如何修改其所有人为root?

15. 在linux 请写出一种自动定时备份某一个文件的方法和具体实施流程,要求每天凌晨3

点的时候备份一次。

选择题

1.cron后台常驻程序(daemon)用于:

A.负责文件在网络中的共享

B.管理打印子系统Manages theprinting subsystem

C.跟踪管理系统信息和错误

D. 管理系统日常任务的调度(scheduing)

2.怎么了解您在当前目录下还有多大空间?

A. Use df

B. Use du /

C. Use du.

D. Use df.

3. 有一个备份程序mybackup,需要在周一至周五下午一点和晚上八点各运行次,

下面哪一条crontab的项可以完成这项工作?

易第优教育

A.0 13,20 * * 1,5 mybackup

B.0 13,20 * * 1,2,,3,4,5, mybackup

C.*13,20 * *1,2,3,4,5, mybackup

D.0 13,20 1,5 * *mybackup

4. 下面哪条命令可以把f1.txt复制为f2.txt?

A.cp f1.txt|f2.txt

B.cat f1.txt|f2.txt

C.cat f1.txt|f2.txt

B.copy f1.txt|f2.txt

5. 使用命令可以查看Linux的启动信息?

A.mesg –d

B.demesg

C.cat /etc/mesg

D.cat /var/mesg

6. 在vi中退出不保存的命令?

A.:qt

B.:r

C.:wq

D.:q!

前台部分

选择题:

1. 请列出4个常用的HTML标签名

2. Javascript的常用对象有哪些?

3. JS表单弹出对话框函数是?获得输入焦点函数是?

4. JS的转向函数是?怎么引入一个外部JS文件?

5. 通过JS创建一个当前窗口的子窗口,通过程序实现子窗口对父窗口的操作实例?{php说说}.

6. 通过JS实现页面的前进和后退操作?

7. 浏览器IE和非IE浏览器的划分,区别是什么?{php说说}.

编程题:

2. 用javascript取得一个input的值?取得一个input的属性?

3. 用Jquery取得一个input的值?取得一个input的属性?

4. 请您写一段ajax提交的js代码,或者写出ajax提交的过程逻辑。

2、请用HTML(div)+css 的方式实现以下的网页样式布局(10分,P)

易第优教育

PHP部分

1. 数组中下标最好是什么类型的,为什么?

2. PHP字符串中单引号与双引号的区别?

3. ++i和i++哪一个效率高,为什么?

4. foo()和@foo()之间有什么区别?

5. isset()和empty()的区别

6. html表单中 GET与POST提交方法的区别?

7. echo(),print(),print_r()的区别?

8. include和require的区别是什么?为避免多次包含同一文件可用什么代替它们?

9. session与cookie的区别与关系, 禁用cookie后, session能否正常使用?

10. php中, $_REQUEST, $_GET, $_POST, $_COOKIE, $_SESSION, $_FILES分别代表什么?

11. 2M ADSL宽带连接, 理想情况下, 最大下载速度是多少KB/s ?

12. 什么是时间戳? 如何取得当前时间戳?

13. 写出192.168.0.1 ip地址的二进制和10进制表示形式

14. 一个字节占多少bit ? 一个IPv4地址占几个字节? 一个IPv6地址呢?

15. 请写出一个正则表达式,用于匹配一个HTML文件中<img />标记中的图片地址

16. 用PHP打印出前一天的时间格式是2006-5-10 22:21:21

17. 如何实现字符串翻转?

18. php5中魔术方法有哪几个? 并说明其用法

__construct()

__destruct()

__set()

__get()

__unset()

__isset()

__call()

Function __sleep() {

Reutrn array(“name”, “age”);

}

__clone()

__wakeup()

__autoload()

__toString()

易第优教育

20.

21.

22.

23.

24.

25.

26.

求两个日期的差数,例如2011-2-5 ~ 2011-3-6 的日期差数。 谈谈你对MVC的认识,介绍几种目前比较流行的MVC框架? 写一个匹配URL的正则表达式 使用版本控制工具的目的是什么? 你用过哪些版本控制工具? 如何快速下载一个远程http服务器上的图片文件到本地? 框架中什么是单一入口和多入口,单一入口的优缺点 打印一个用‘.’链接的字符串时候,还可以用什么代替‘.’链接效率更高些

Echo $a,$b,$c

Echo “{$a}{$b}”

27. 提示类型200、301 ,302,303,404、401,403,500,505,502 HTTP response code

所代表的含义。

28. 编写一个自定义函数提取“Www/hello/test.php.html?a=3&b=4”路径的的后缀名。

29. 你对Memcach的理解,优点有哪些?

30.

31. 你所知道的php数组相关的函数?

32. 用PHP写出显示客户端IP与服务器IP的代码

33. 如何修改SESSION的生存时间

34. 有一个网页地址, 比如PHP开发资源网主页: /index.html,如

何得到它的内容?

35. 在PHP中,heredoc是一种特殊的字符串,它的结束标志必须?

<<<aaaa

aaaa

Aaaa;

36. 请用php编写程序,读取出的首页的网页内容(仅html),并存入

字符串 $str.

易第优教育

38.

{php说说}.

39.

40. 至少写出一种验证139开头的11位手机号码的正则表达式。

41. 请写一个函数,实现以下功能:字符串“open_door” 转换成 “OpenDoor”、”

make_by_id” 转换成 ”MakeById”。

42. 请用php写出以下程序:假设网络中有一台服务器192.168.1.101,开放端口8899{php说说}.

进行侦听,请用php的socket相关知识,写出一个简易的client,连接到server,并发送字符串”hello server!”。程序仅对连接的成功和失败进行简易错误判断和处理即可。

43. 实现中文字串截取无乱码的方法。

44. 请说明php中传值与传引用的区别。什么时候传值什么时候传引用?

45. 在PHP中error_reporting这个函数有什么作用?

46. 请写一个函数验证电子邮件的格式是否正确

47. 简述如何得到当前执行脚本路径,包括所得到参数

48. $_SERVER[“script_name”].

49. 如何声明一个名为”myclass”的没有方法和属性的类?

50. 如何实例化一个名为”myclass”的对象?

51. 你如何访问和设置一个类的属性?

52. GD库是做什么用的?

53. 指出一些在PHP输入一段HTML代码的办法

54. $arr = array('james', 'tom', 'symfony'); 请打印出第一个元素的值

55. $a = 'abcdef'; 请取出$a的值并打印出第一个字母

56. 请写出PHP5权限控制修饰符

57. 请写出php5的构造函数和析构函数

58. 写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名

59. 请列出3种PHP数组循环操作的语法,并注明每种循环的优缺点

60. 请列出3个PHP中的预定义全局变量

61. 从PHP4.2.0开始 PHP默认配置将register_globals配置设定为off,请指出这个设定

的作用和对PHP相关程序的影响。

a. php

$_SESSION[‘name’]

$name=10;

62. 不断在文件hello.txt头部写入一行“Hello World”字符串,要求代码完整 63.

64. 封装一函数、实现统计指定位置上的字符出现在整个字符串中的次数功能,eg:字

符串“test_for_test”,指定第四位‘t’为要查找的字符,运行后返回4(出现了4次)

易第优教育 请写一个函数将1234567890转换成1,234,567,890 每3位用逗号隔开的形式。

php说说篇二

2016年PHP最新笔试题(带答案)

PHP笔试题_答案

一、基础及程序题(建议使用你擅长的语言:PHP、Java)

1. 写一个排序算法,可以是冒泡排序或者是快速排序,假设待排序对象是一个维数组。(提示:不能使用系统已有函数,另外请仔细回忆以前学习过的基础知识) //冒泡排序(数组排序)

function bubble_sort($array)

{

$count = count($array);

if ($count <= ) return false;

} for($i=; $i<$count; $i++){ for($j=$count-1; $j>$i; $j--){ if ($array[$j] < $array[$j-1]){ $tmp = $array[$j]; $array[$j] = $array[$j-1]; $array[$j-1] = $tmp; } } } return $array;

//快速排序(数组排序)

function quicksort($array) {

if (count($array) <= 1) return $array;

$key = $array[];

$left_arr = array();

$right_arr = array();

for ($i=1; $i<count($array); $i++){

if ($array[$i] <= $key)

$left_arr[] = $array[$i];

else

$right_arr[] = $array[$i];

}

$left_arr = quicksort($left_arr);

$right_arr = quicksort($right_arr);

return array_merge($left_arr, array($key), $right_arr); }

2. 实现一个字符串截取的函数,类似于substr,必须能够截取中文这种多字节编码。假设每个中文也是一个字符,普通的数字、符号、字母也是一个字符。(提示:GB编码的中文字符高位范围是 x81-xFE )

function GBSubstr($str, $len){

$count = ;

for($i=; $i<strlen($str); $i++){

if($count == $len) break;

if(preg_match("/[/x8-/xff]/", substr($str, $i, 1))) ++$i;

++$count;

}

return substr($str, , $i);

}

function GBSubstr2($src, $start=, $length=){

$suffix="";

$len = strlen($src);

if ( $len <= $length ) return $src;

$cut_length = ;

for( $idx = ; $idx<$length; $idx++){

$char_value = ord($src[$idx]);

if ( $char_value < x8 || ( $char_value & x4 ) ) $cut_length++;

else

$cut_length = $cut_length + 3; }

$curstr = substr($src, , $cut_length) ;

preg_match('/^([/x-/x7f]|.{3})*/', $curstr, $result);

return $result[];

}

function CSubstr($str, $start=, $length, $charset="gbk", $suffix=false){ if(function_exists("mb_substr")){

return mb_substr($str, $start, $length, $charset); }

$re['utf-8'] =

"/[/x1-/x7f]|[/xc2-/xdf][/x8-/xbf]|[/xe-/xef][/x8-/xbf]{2}|[/xf-/xff][/x8-/xbf]{3}/";

$re['gb2312'] = "/[/x1-/x7f]|[/xb-/xf7][/xa-/xfe]/"; $re['gbk'] =

"/[/x1-/x7f]|[/x81-/xfe][/x4-/xfe]/";

$re['big5'] =

"/[/x1-/x7f]|[/x81-/xfe]([/x4-/x7e]|/xa1-/xfe])/";

preg_match_all($re[$charset], $str, $match);

$slice = join("", array_slice($match[], $start, $length));

} if($suffix) { return $slice ."„"; } return $slice;

3. 写一个遍历指定目录下所有子目录和子文件的函数(提示:可以使用递归的方法) function dir_all ( $path ) {

$handler = opendir($path);

while (false!==($tmp = readdir($handler))) {

if(is_dir( "$path/$tmp" )) {

if ($tmp=="." | $tmp=="..") continue; echo $tmp."<br>/n"; dir_all ("$path/$tmp"); } else {

echo $tmp ."<br>/n";

}

}

}

4. 写出匹配邮箱地址和URL的两个正则表达式。类似下面的:

邮箱地址:user_name.first@example.com.cn

URL地址:.cn/user_profile.php?uid=1

(提示:使用标准的正则表达式,就是PHP中preg_* 类的正则处理函数能够解析的正则) 邮箱://w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*/

URL:/^

二、数据库技术题

1.写出三种以上MySQL数据库存储引擎的名称(提示:不区分大小写)

MyISAM、InnoDB、BDB(Berkeley DB)、Merge、Memory(Heap)、Example、Federated、Archive、CSV、Blackhole、MaxDB 等等十几个引擎

2.说出你所知道的三种以上开源数据库的名称(提示:想想目前国外流行的开源数据库) MySQL、SQLite、BDB(Berkeley DB)、PostgreSQL、Firebird

3.MySQL数据库中的字段类型varchar和char的主要区别是什么?那种字段的查找效率要高,为什么?

Varchar是变长,节省存储空间,char是固定长度。查找效率要char型快,因为varchar

是非定长,必须先查找长度,然后进行数据的提取,比char定长

类型多了一个步骤,所以效率低一些

4.说出MySQL 4.和MySQL 4.1版本的最主要的两个区别。如果你使用过MySQL 5,请说说MySQL 5跟MySQL 4的主要区别。(后半题选作)

MySQL 4.1 主要是比MySQL 4.多了子查询和字符编码的支持两个特点。

MySQL5增加的功能比MySQL4要更多,包括存储过程、视图、事务等等

5.MySQL数据库基本的三个优化法则是什么,除了增加硬件和带宽?(提示:从服务配置、应用、开发角度考虑)

(1)系统服务优化,把MySQL的key_buffer、cache_buffer、query_cache等增加容量

(2)给所有经常查询的字段增加适当的索引

(3)优化SQL语句,减少Ditinct、Group、Join等等语句的操作

三、综合技术题

1.请使用JavaScript写出三种产生一个Image 标签的方法(提示:从方法、对象、HTML角度考虑)

(1)var img = new Image();

(2)var img = document.createElement_xById(“image”)

(3)img.innerHTML = “<img src=”xxx.jpg” />”

2.请使用CSS样式,描述两种方法在当前列中只显示一个div对象

(1)<div style=”width:19999px;”></div>

(2)<div style=”clear:both;”></div>

3.请描述出两点以上XHTML和HTML最显著的区别

(1)XHTML必须强制指定文档类型DocType,HTML不需要

(2)XHTML所有标签必须闭合,HTML比较随意

4.写出五种以上你使用过的PHP的扩展的名称(提示:常用的PHP扩展)

MB_Sring、Iconv、Curl、GD、SHM、libxml、socket、MySQL、PDO 等等

5.了解MVC模式吗?请写出三种以上目前PHP流行的MVC框架名称(不区分大小写) FleaPHP、Zend Framework、CakePHP、Symfony、Plite、php.MVC、PHP on Trax、Smutty 等等

6.写出5个以上你所知道的常用的Linux命令和它的功能

Ls 列目录

Cp 复制

Rm 删除

Mkdir 建立目录

Cd 切换目录

Ps 查看进程

Top 查看机器使用情况

7.使用过Vim编辑器吗?如果使用过,如何在vim里切分多个可视化窗口,包括横排和纵排。(本题选作)

横:split(sp)

纵:vsplit(vsp)

8.说说Linux下的find命令和grep命令的区别(本题选作)

Find:按照文件名查找

Grep:按照文件内容查找

php说说篇三

php新手入门经典教程

php初级教程:1.php平台的搭建

作者:cosβ (转载请注明本文链接地址: 生活点滴|Enjoy Life)

php平台搭建

作为php学习者,首先要搭建一个php的测试平台,那么这里我以我自己的经验来介绍如何学习php,本人虽不算php高手,但是至少也算熟手,所以php的新手如果有兴趣的话,可以从这里开始学习php。废话不多说,下面开始

1. 简单LAMP平台的搭建。

什么是LAMP,其实就是Linux+Apache+Mysql+PHP(这里P我们就指php

了。perl这些暂不考虑)。不过对于大多数用的是windows,那我们就简单得搭一个WAMP吧。

1. 我以前是自己在apache.org,mysql.com,php.net上下载windows

的压缩包文件,然后配置,不过这样配置有麻烦,虽然说可以按照

install一步一步进行下去,但是既然有更简单的方法,我们为什

么不用了。

2. 介绍我现在用一个简单WAMP吧,uniform server{php说说}.

(/)。去这里(sourceforge)载一

个压缩包,如果速度慢,就用迅雷搜索“uniform server”下载,

大概10M左右,解压缩之后,双击文件里面的start.vbs

就可以了

访问

数据库了,数据库默认用户和密码都是root(php入门者可以不看

这里,现熟悉了php再说)。

3. 启动服务之后,你会发现你多了一个w盘,这个是个虚拟的盘,在

w盘下有个

根目录,我们就可以从这里开始学习PHP

2. 开始学习PHP。请问你熟悉C语言么?严格的说会写简单的C程序么?或

者要求更低一点,简单的C语言程序你能看得懂么?如果这几个答案都是否定的,那么请你去买一本谭浩强些的C语言设计的书来看,什么?不知道谭浩强是谁?我怕你了,那就随便买一本C语言的书籍来看吧!

3. PHP与C语言的区别。

1. php语言均以<?php开头,?>结尾,当然也可以用更简单的标签,咱

们这里用正规的方法,防止今后兼容问题,邪门歪道咱们别学

2. 变量。php的变量必须以$开头。如$var = ‘cosbeta’;

3. 定义。php可以随时使用变量,而不需要预先定义。C则必须先定

义变量才能使用该变量。

4. 其实还有很多,比如面向对象,解释或编译执行阿,对于初学者不

需要知道这么多,等熟练了再回来研究这些也不迟。咱们继续。

4. 第一个php程序

1. < ?php

2. echo "hello world";//注释可以这样写

3. /*

4. 也可以这样写

5. 依然用hello word做第一个例子吧

6. */

7. ?>

将此代码保存成”helloworld.php”放到上面说的网站根目录下。然后

呢??

tips:编辑php可以用editplus或者ultraedit来进行。我个人喜欢

editplus,速度快。

第二部分:服务器->浏览器之间的关系。

php初级教程:2.php学习需要的资料、B/S基础知识

作者:cosβ (转载请注明本文链接地址: 生活点滴|Enjoy Life)

上一节讲解了php的基本平台的搭建和一个简单的php程序,这一节就说说学习php必备的一些宝典和B/S基础知识。

2.1 需要的资料

1. php manual中文或者英文的都可以可以,到这里下载中文版。 为什么需

要这个?有了这个你就不会或者很少浪费时间在论坛上问这样的问题

“怎么截取字符串?”“如何判断一个文件的大小”,“如何获取当前的时间”等等.

2. 没有了,对于初学者,够了。还需要的资料我会在高级进阶里面介绍

2.2 B/S基础知识

1. web服务器如何工作?(不想画图片,直接语言描述了)。我们假设web

服务器是一个仓库+仓库管理员。当有人访问

html是静态文件,直接发送给他,结束自己的任务。记住,服务器在你请求的时候把文件发给你,接下来就和你断开连接了,什么也不管了(这就是传说中的http是无状态的协议)。 那么有人请求

1.php,那好,马上通知php解析器(web container,别用词语吓唬人:( )。赶快执行1.php,然后把结果给我发给那个要请求的家伙。所以不要试图在你浏览器里面查看人家php代码,你看到的仅仅是php执行之后的输出结果。这点php jsp asp都是一样的处理的。

2. 哪些是客户端(浏览器,今后都简称B)执行,哪些是服务器端(今后简

称S)执行 常用的脚本js vbs 是客户端执行,他们是做什么的呢,就是简单的控制你的浏览器。比如你点击的时候,突然弹个对话框“你确定么?”,这个就是他们干的。css,flash, applet等等是用来描述如何显示界面的。上面的这些东西都是放在服务器上,随着你网页的下载一起下载下来的,他们不会在服务器上执行,任何服务器都可以。(至今我一直在纳闷为什么虚拟主机说支持javascript flash ??难道他们能不支持么?和他虚拟主机有什么关系??或许他们怕有人问这样的问题)所以你搞清楚这点之后,你就不会再问这样的问题“php如何制作弹出窗口”、“php如何制作滚动文字”。如果你看到这里来了,你还要问,那我就回答你:“看看javascript如何完成这些事情的,然后写一个php把这些代码print出来就是” javascript:弹出对话框

1. <script>alert('hi')</script>

下面是php实现:

2. < ?php echo "<script>alert('hi')";?>

这不就搞定了?今后别再问类似的问题了。还要问?两种解决方法:

1.google;2.给我发邮件,最好采用第一种。

3. 为什么要用php.既然web服务器把别人请求的文件发给人家就了事,那

还需要php做什么?直接写HTML文件不就得了,何苦还要用php执行生成这些html呢?不错。以前有人就是这样做的。但是这样做太麻烦。我们为什么不用php动态的根据用户的请求生成结果给他呢?还有,如果利用php我就可以有条件的发送内容给B端了阿!

今天就写到这里。明天开始介绍php的常用函数。有了这些常用函数,你就可以开始做你的动态网页了

php初级教程:3.php的常用函数和基本流程

作者:cosβ (转载请注明本文链接地址: 生活点滴|Enjoy Life)

注意。copy本站的代码可能有问题“< ?” 变成了“< ?php”所以请注意,请把那个多余的空格删除!

下面依次介绍php常用函数,其他的函数请参照php手册。

1. echo()。这个是最重要的,php的输出基本由它来完成,也可以用C语言

的print,请不要打岔。继续echo

例子:

1. < ?php echo "hello"; ?>

2. < ?php echo "<div id=’cosbeta’>this is an html element";?>

由于现在已经流行用div+css,所以echo html也比较简单了。我们再看一个复杂的echo html例子-生成一个表格(w3c不推荐用表格了):

我们想生成的是

3. <table border="1">

{php说说}.

4. <tr><td>1*1</td><td>1</td></tr>

5. <tr><td>2*2</td><td>4</td></tr>

6. <tr><td>3*3</td><td>9</td></tr>

7. </table>

下面是php代码:

8. <table border="1">

9. < ?php

10.$i = 1;

11.while( $i <= 3 ){

12. echo "<tr><td>";

13.echo $i;

14.echo "*";

15.echo $i;

16.echo "</td><td>";

17. echo $i * $i;

18.echo "</td>\n";//这里的"\n"才会在其输出的HTML中出现换

行。上面的phg换行不会输出换行

19.$i ++ ;

20.}?></table>

2. Date().取得服务器时间,请记住php能做的始终是操作服务器,把结果

给浏览器,如果要控制浏览器,请用脚本完成。

1. < ?php echo("Y-m-d H:i:s");?>

。你把这段代码写成php文件访问看看?更详细的请看这里:

3. int filesize ( string filename )返回文件大小的字节数,如果出错返

回 FALSE

bool file_exists ( string filename )如果由 filename 指定的文件或目录存在则返回 TRUE,否则返回 FALSE。

函数就介绍到这里,今后在使用过程中我会逐渐配合php手册介绍一些函数。

Php流程介绍

由于php可以嵌入和html文件中,所以我介绍的时候也会混合举例。 注意,本教程中的例子请都保存成.php文件进行测试。由于本人都没有测试,所以可能会出现小错误,请留言告知。

1. 条件流程。If else.如果你熟悉c,可以大概瞄一眼,还是需要瞄

一眼的。

1. < ?php

2. if(12 == date("m") ){

3. echo "很快就要过年了哦!";

4. }else{

5. echo "过年还早";

6. }

7. ?>

另外一种方式

8. < ?php if(12 == date("m") ){?>

9. 很快就要过年了哦!

10.< ?php } else{?>

11.过年还早

12. < ?php } ?>

看明白这种方式了么?同样还有一种方式

13.< ?php if( 12 == date("m") ) :?>

14. 很快就要过年了哦

15. < ?php else :?>

16. 过年还早

php说说篇四

php开发留言板项目

项目:留言板 编写目的: 细化设计,为代码实现提供详细的依据; 创建脚本: CREATE TABLE `guestbook`.`guest` ( `id` INT( 11 ) NOT NULL COMMENT '客户自增 id', `name` VARCHAR( 16 ) NOT NULL COMMENT '客户名 称', `email` VARCHAR( 60 ) NULL COMMENT '电子信箱 ', `qq` VARCHAR( 11 ) NULL COMMENT 'QQ 号码', PRIMARY KEY ( `id` ) ) ENGINE = MYISAM 术语和解释: 参考资料: PHP5 中文手册 Mysql 手册 数据库设计(使用 Mysql 版本:5.0.18) 存储回复信息表:revert 创建脚本: CREATE TABLE `guestbook`.`revert` ( `id` INT( 11 ) NOT NULL AUTO_INCREMENT COMMENT '自增 id', `post_id` VARCHAR( 11 ) NOT NULL COMMENT '留 言 id', `revert` TEXT NOT NULL COMMENT '回复内容', `revert_time` VARCHAR( 14 ) NOT NULL COMMENT ' 回复时间', PRIMARY KEY ( `id` ) ) ENGINE = MYISAM 数据库名称:GuestBook 创建数据库代码: 主要功能的实现逻辑 CREATE DATABASE `GuestBook` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 存储留言信息表 post 创建脚本: CREATE TABLE `guestbook`.`post` ( `id` INT( 11 ) NOT NULL AUTO_INCREMENT COMMENT 'post 主键自增序列', `guest_id` VARCHAR( 11 ) NOT NULL COMMENT ' 发布人 id', `post` TEXT NOT NULL COMMENT '发布内容', `post_time` VARCHAR(14 ) NOT NULL COMMENT ' 发布时间', PRIMARY KEY ( `id` ) ) ENGINE = MYISAM 存储留言客户信息表 guest 1 留言列表详细设计 1. 页面名称:index.php 2. 主要功能描述:按照留言先后顺序,分页显 示留言信息 3. 语言类型:PHP 4. 涉及到的数据表:客户表(guest),留言信 息表(post) ,留言回复信息表(revert) 5. 处理过程: 用户进入留言板页面 { 初始化数据库连接; 联合查询 guest、 post、 revert 信息表, 分页显示所有的留言信息,如果信息有 回复内容显示回复内容;如果当前用户

为管理员用户,显示对留言信息的操作 功能(删除、和回复) ; } 留言功能详细设计 1. 页面名称:post.php 2. 主要功能描述: 验证用户输入的数据完整性和合 法性,保存用户信息和留言内容 3. 语言类型:PHP 、javasript 4. 涉及到的数据表:客户表(guest),留言信息表 (post) 5. 处理过程: 用户点击留言提交按钮 { Js 验证用户填写内容的完整性:用户名称 【必填】 ,email 和 qq 号码必选其一; Js 验证用户填写数据的合法性,用户名称 【最多 16 个字符】 ,email 如果填写必须格式正 确,qq 号码只能是大于等于 5 位小于 11 位的数 字,不能以 0 开头; Js 验证通过: { 提交表单到 index.php, PHP 程序重复以上验证,验证通过: { 保存用户信息到用户表 guest,保存留 言 信 息 到 post 表 ; 返 回 列 表 页 面 index.php 显示留言内容; } 验证不通过:提示错误信息返回表单页 面(post.php) } 验证不通过:提示错误信息不提交表单 } 4. 涉及到的数据表:无 5. 处理过程: 用户点击管理员登录链接, 进入 login.php 页面 { Js 验证用户填写内容的完整性:用户名称 【必填】 ,email 和 qq 号码必选其一; Js 验证通过: { 提交表单到 login.php, PHP 程序重复以上验证,验证通过: { 判断用户输入的用户名和密码是否和 系统配置的一致,一致:{ 写入 session 信息,返回到留言列 表页面,并显示,对留言信息的功能操作; } 不一致:提示登录失败,重新输入,返 回到 login.php; } 验证不通过:提示错误信息不提交表单 } 管理员回复留言功能详细设计 1. 2. 3. 4. 页面名称:revert.php 主要功能描述:保存管理员的回复信息 语言类型:PHP 、javasript 涉及到的数据表:留言回复信息表(revert)处 理过程: 管理员正确登录点击某一留言【回复】链接,进 入回复页面 revert.php 页面 { 验证是否管理员用户,验证通过:{ 填写回复信息,点击提交按钮: { 保存回复信息到 revert 表; } } 验证不通过:提示错误信息,返回到首页 } } 管理员登录功能详细设计 1. 页面名称:login.php 2. 主要功能描述:管理员登录程序 3. 语言类型:PHP 、javasript 2

管理员删除留言功能详细设计 1. 2. 3. 4. 页面名称:delete.php 主要功能描述:保存管理员的回复信息 语言类型:PHP 、javasript 涉及到的数据表:客户表(guest),留言信息表 (post) ,留言回复信息表(revert) 5. 处理过程: 管理员正确登录点击某一留言【删除】链接,进 入删除页面 delete.php { 验证是否管理员用户,验证通过:{ 根据 get 参数的 Id 删除留言,删除客 户表和回复信息表中的相关内容 } 验证不通过:提示错误信息,返回到首页 } } 帮助, 请参考: Windows 平台下 PHP 环境配置之 Apahce 《 安装篇》《Windows 平台下 PHP 环境的配置之 Mysql 、 篇》《Windows 平台下 PHP 环境配置之 PHP 安装篇》等 、 相关文章。 该案例教程中所涉及的 PHP 内容: 1.PHP 程序的基本写法和注意事项; 2.变量的定义和销毁; 3.PHP 数组的定义和基本使用方法; 4.字符串的处理; 5.客户输入信息的验证; 6.PHP 编程语言的流程控制; 7.session 会话的基本应用; 8.PHP 链接 Mysql 和对 Mysql 的增删改查; 9.PHP+mysql 的分页技术和原理(重点) 。 …… 大部分在利用 PHP+Mysql 进行 Web 编程过程中所常用的 方法。 希望对此有兴趣的兄弟们继续关注 PHP iask 明天推出的 第一章《PHP 留言板数据库设计》! 如果你想尽快了解我们的留言板的编写过程和实现逻辑请 点击下边的链接,下载 word 版的详细设计。 PHP【留言板】案例教程-前言 首先战地写这个 PHP 教程的目的不是为了做一个留言板, 如果你需要一个留言板的话我建议你去 Google 搜索一下 免费的、功能强大的、功能齐全的、漂亮的到处都是。 目的是:从一个简单的实际的案例出发,来让想学习 PHP 的兄弟姐妹们进入 PHP 的世界。 需要说明的是,既然是实际的案例教程,各种各样的知识 都会涉及到(以保证各位遇到更多的问题) ,阅读这个教程 的时候你最好了解一点 Html 和 javascript 的知识,因为 在教程中将不作为重点来说。因为我们是 PHP 教程。 好了,现在说说我们将要设计的知识和这个留言板将要实 现的功能: 功能需求:利用 PHP+Mysql 数据库制作一个基本的留言 板能够让客户进行留言,管理员可以对留言进行修改、删 除、回复等操作。 涉及到的技术:PHP 后台处理程序、javacript 客户端技 术、Mysql 数据库的基本操作,另外战地假设你已经架设 好了 PHP+Mysql 的开发环境。如果需要配置开发环境的 3 第一章 为留言板设计数据库 好了今天我们开始我们 PHP 入门案例教程, PHP 留言板的 第一步,为我们的留言板设计一个数据库。根据《PHP 入 门案例教程【留言板】前言》中的大致需求,我们需要在 数据库中建立三个表:一个(post)存储留言内容,一个 (guest)存储留言人的信息,另一个(revert)存储管理 员的回复信息。 好了现在详细说说,首先创建一个数据库 GuestBook 创建数据库代码: 1 2 CREATE DATABASE `GuestBook` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 存储留言信息表 post 创建脚本:

CREATE TABLE `guestbook`.`post` ( `id` INT( 11 ) NOT NULL AUTO_INCREMENT COMMENT 'post 主键自 增序列', `guest_id` VARCHAR( 11 ) NOT NULL COMMENT '发布人 id', `post` TEXT NOT NULL COMMENT '发布 内容', `post_time` VARCHAR(14 ) NOT NULL COMMENT '发布时间', PRIMARY KEY ( `id` ) ) ENGINE = MYISAM 2 3 4 5 6 7 `id` INT( 11 ) NOT NULL AUTO_INCREMENT COMMENT '自增 id', `post_id` VARCHAR( 11 ) NOT NULL COMMENT '留言 id', `revert` TEXT NOT NULL COMMENT '回 复内容', `revert_time` VARCHAR( 14 ) NOT NULL COMMENT '回复时间', PRIMARY KEY ( `id` ) ) ENGINE = MYISAM 1 2 3 4 5 6 7 存储留言客户信息表 guest 创建脚本: 可以看出在 post 表中存储了客户的 Id(其实这个设计本 身不适合咱们系统,咱们应该存储的是用户的名称,但是 为了接触更多的 PHP 函数还是这样设计吧) ,通过这个 Id 可 以 和 客 户 表 guest 进 行 关 联 , revert 表 中 存 储 了 post_id 顾名思义就是留言表中的主键 Id,这样我们也可 对这两表进行关联操作。 CREATE TABLE `guestbook`.`guest` ( `id` INT( 11 ) NOT NULL COMMENT ' 客户自增 id', 1 2 3 4 5 6 7 '客户名称', `email` VARCHAR( 60 ) NULL COMMENT '电子信箱', `qq` VARCHAR( 11 ) NULL COMMENT 'QQ 号码', PRIMARY KEY ( `id` ) ) ENGINE = MYISAM `name` VARCHAR( 16 ) NOT NULL COMMENT 第二章 处理留言信息 在本章和随后的第三章我们将会说的知识点: 1. PHP 的基本语法——知道怎么写就行了,不作为重点; 2. PHP 处理 form 表单内容,保存到数据库; 3. 数据库的链接和插入等操作; 4. 转义函数的使用。 …… 在本章开始之前战地为此做了很多工作,诸如: 设计了一个简单的留言板的模板,如果你不想自己设计的 话就点击,留言板模板下载,直接用我这个就行了。如果 想让用户留言,那么必须就要给用户一个留言的入口。我 们这里的入口就是模板页面下边的表单了—-其它的 PHP 代码我们暂且不管。 可以看到,表单上有四个表单域: 姓 名 <input type=”text” name=”name”> Email <input 4 存储回复信息表:revert 创建脚本: id=”name” id=”email” 1 CREATE TABLE `guestbook`.`revert` ( type=”text”

name=”email”> QQ <input type=”text” id=”qq” name=”qq”> 留 言 内 容 <textarea id=”post” name=”post”></textarea> 关于这个输入留言内容的框框更多的属性值可以参考留言 板模板文件中的相关部分。 以上这些表单包含在一个属性为这样的 form 中 <form action=”post.php” name=”form1” method=”post”>其中 action 一项是指把表单内容提交 到哪一个处理页面,method 是指用什么方式提交表单内 容。 我们把处理页面定义为 post.php, 这个就是我们将来马上 就要编写的 PHP 代码页面程序; 提交表单内容一般用 post 方法——因为 post 的方法能够 提交更大的更多的内容,并且相对于 get 方法似乎更加安 全一点。 在开始我们的 PHP 代码之前,还有一些问题要说就是如何 使你的留言板更加安全。在模板里我已经实现了对输入内 容的 js 验证——这道屏障几乎没有什么作用,我们也不是 讲 js 的所以有兴趣的朋友看看就行了。 这个问题你可以点击这个链接《关于 PHP 代码安全性问题 的建议》了解更多内容。 既然已经说道安全问题了,那么我们就开始我们的代码吧。 在开始这段之前,我已经实现了这个 post.php 的程序, 大家可以点击这里 post 下载这个页面。 大家可以看到所有的 PHP 代码

上一篇:qq恶搞说说,qq恶搞说说回复
下一篇:qq空间说说前缀
推荐内容

Copyright @ 2013 - 2018 学习网 All Rights Reserved

学习网 版权所有 京ICP备16605803号