PHP - 文章列表
-
php:树形结构的算法
从喜悦村上转载,以前也读过此文,讲述得还是比较清楚的。产品分类,多级的树状结构的论坛,邮件列表等许多地方我们都会遇到这样的问题:如何存储多级结构的数据?\n在PHP的应用中,提供后台数据存储的通常是关系型数据库,它能够保存大量的数据,提供高效的数据检索和更新服务。然而关系型数据的基本形式是纵横交错的表,是一个平面的结构,如果要将多级树状结构存储在关系型数据库里就需要进行合理的翻译工作。接下来我会将自己的所见所闻和一些实用的经验和大家探讨一下。 \n层级结构的数据保存在平面的数据库中基本上有两种常用设计方法: \n毗邻目录模式(adjacency list model) 预排序遍历树算法(mod
-
用PHP写mail时的注意事项
今天看书,看到mail函数,就自己练着写了个简单的程序。<?php\ntomail=’boy805@tom.com’;name=’liuyu’;text=’you win!!’;\nif(mail(tomail,name,text)) //函数有5个参数前3个是必填参数。第一个参数表示目的地址,第二个 参数表示为主题,第三个参数表示内容。{ echo ‘ok’;}else{ echo ‘no’;}
-
打造简单的PHP&MYSQL留言板
数据库结构:(库名:lyb)\n表一: admin字段: id(int11) name(varchvr) password(varchvr)\n表二: lo字段: id(int11) username(varchvr) sex(varchvr) qq(varchvr) email(varchvr) info(text) ip(varchvr) submit_time(datetime)\n1、conn.php(连接数据库文件)\n<?phpmysql_connect(“localhost”,”root”,”
-
?òμ¥ê?ày£oAJAX?áo?PHP′ú??êμ??μ???
HTML2?·?£o\n<html><head><scr¨?pt language=”javascr¨?pt”>function postRequest(strURL){var xmlHttp;if(window.XMLHttpRequest){ // For Mozilla, Safari, …var xmlHttp = new XMLHttpRequest();}else if(window.ActiveXObject){ // For Internet Explorervar xmlHttp = new Active
-
php中计算时间差的几种方法
在php中计算时间差有时候是件麻烦的事!不过只要你掌握了日期时间函数的用法那这些也就变的简单了: 一个简单的例子就是计算借书的天数,这需要php根据每天的日期进行计算,下面就来谈谈实现这种日期计算的几种方法: (1) 如果有数据库就很容易了!若是MSSQL可以使用触发器!用专门计算日期差的函数datediff()便可! 若是MYSQL那就用两个日期字段的差值计算的计算结果保存在另一个数值型字段中!用时调用便可! (2)如果没有数据库,那就得完全用php的时间日期函数!下面主要说明之: 例:计算1998年5月3日到1999-6-5的天数: <? startdate=
-
PHP+AJAX实现无刷新注册(带用户名实时检测)
很多时候,我们在网上注册个人信息,在提交完页面后,总得等待页面刷新来告诉我们注册是否成功,遇到网络差的时候,如果注册了一大串的东西,在经过漫长的等待页面刷新后,得到的确是“您的用户名已被使用”或XXXXXXX不合法,我想大家的心情一定特别不爽,今天就介绍个AJAX实现页面不刷新注册+实时检测用户信息的简单注册程序,希望对大家有所帮助。好的,先看注册界面代码:<table width=”831″ border=”0″ align=”center” cellpadding=”0″ cellspac
-
在PHP中全面阻止SQL注入式攻击之二
一、 注入式攻击的类型 可能存在许多不同类型的攻击动机,但是乍看上去,似乎存在更多的类型。这是非常真实的-如果恶意用户发现了一个能够执行多个查询的办法的话。本文后面,我们会对此作详细讨论。 如果你的脚本正在执行一个SELECT指令,那么,攻击者可以强迫显示一个表格中的每一行记录-通过把一个例如”1=1″这样的条件注入到WHERE子句中,如下所示(其中,注入部分以粗体显示):SELECT * FROM wines WHERE variety = ‘lagrein’ OR 1=1;’ 正如我们在前面所讨论的,这本身可能是很有用的信息
-
打造超酷的PHP数据饼图
源代码: PHP代码如下:\n//+————————+ //| pie3dfun.PHP//公用函数 | //+————————+ define(“ANGLE_STEP”, 5); //定义画椭圆弧时的角度步长 function draw_getdarkcolor(img,clr) //求clr对应的暗色 { rgb = imagecolorsforindex(img,clr);
-
如何从一个php文件向另一个地址post数据,不用表单和隐藏的变量
可以使用以下函数来实现: \n<?phpfunction posttohost(url, data) {url = parse_url(url);if (!url) return “couldn’t parse url”;if (!isset(url[\"port\"])) { url[\"port\"] = “”; }if (!isset(url[\"query\"])) { url[\"query\"] = “”; } \nencoded = “”; \nwhile (list
-
在PHP中全面阻止SQL注入式攻击之三
一、 建立一个安全抽象层 我们并不建议你手工地把前面介绍的技术应用于每一个用户输入的实例中,而是强烈推荐你为此创建一个抽象层。一个简单的抽象是把你的校验方案加入到一个函数中,并且针对用户输入的每一项调用这个函数。当然,我们还可以创建一种更复杂的更高一级的抽象-把一个安全的查询封装到一个类中,从而应用于整个应用程序。在网上已经存在许多这种现成的免费的类;在本篇中,我们正要讨论其中的一些。 进行这种抽象至少存在三个优点(而且每一个都会改进安全级别): 1. 本地化代码。 2. 使查询的构造更快且更为可靠-因为这可以把部分工作交由抽象代码来实现。 3. 当基于安全特征进行构建并且恰当使用