编程技巧 - 文章列表

  • web开发中PHP+MySQL分页显示示例分析

    Web开发是今后分布式程式开发的主流,通常的web开发都要涉及到与数据库打交道,客户端从服务器端读取通常都是以分页的形式来显示,一页一页的阅读起来既方便又美观。所以说写分页程序是web开发的一个重要组成部分,在这里,我们共同来研究分页程序的编写。   一、分页程序的原理  分页程序有两个非常重要的参数:每页显示几条记录(pagesize)和当前是第几页(page)。有了这两个参数就可以很方便的写出分页程序,我们以MySql数据库作为数据源,在mysql里如果要想取出表内某段特定内容可以使用的 T-SQL语句:select * from table limit offset,rows来实现。这里

  • PHP程序加速探索之代码优化

    掌握了PEAR::BenchMark,现在你已经知道如何测试你的代码,知道如何判断你的代码是快是慢,是哪一部份比较慢。那么接下来我要说的就是如何消灭或优化那部份慢的代码。   这一点上我个人最主要的经验只有两点,一是消除错误的或低效的循环;二是优化数据库查询语句。其实还存在一些其它的优化细节,比如“str_replace比ereg_replace快”、“echo比print快”等等。这些我暂时都放在一边,稍后我会提到用缓存来对付过于频繁的IO。  下面我们将三个功能相同,但程序写法不同的函数的效率(消耗的时间)进行对比。  badloops.php\n<?php require_once(&#

  • PHP开发中接收复选框信息的方法

    PHP接收多个同名复选框信息不像ASP那样自动转换成为数组,这给使用带来了一定不便。但是还是有解决办法的,就是利用javascript做一下预处理。多个同名复选框在javascript中还是以数组的形式存在的,所以在表单提交之前可以利用javascript把复选框中的信息组合成一个字符数组赋值给表单中的隐藏元素,然后用PHP中的explode函数解析此数组,这样就可以实现复选框信息的传递了。下面举例说明。   假设有这样一个表单: \n<form name=”form1″ id=”form1″ method=”post”

  • include()和require()的区别

    include()和require()的区别 这相信是PHP中最基本的问题了,也是很多公司面试时必考的题呵呵。\n给大家复习一下:\nrequire() :如果文件不存在,会报出一个fatal error.脚本停止执行 include() : 如果文件不存在,会给出一个 warning,但脚本会继续执行 \n这里特别要注意的是:使用include()文件不存在时,脚本继续执行,这种情况只出现在PHP 4.3.5之前,这一点,往往被人忽视。\n推荐使用require_once()和include_once(),可以检测文件是否有重复包含。

  • 分页显示详解

    1、前言\n分页显示是一种非常常见的浏览和显示大量数据的方法,属于web编程中最常处理的事件之一。对于web编程的老手来说,编写这种代码实在是和呼吸一样自然,但是对于初学者来说,常常对这个问题摸不着头绪,因此特地撰写此文对这个问题进行详细的讲解,力求让看完这篇文章的朋友在看完以后对于分页显示的原理和实现方法有所了解。本文适合初学者阅读,所有示例代码均使用php编写。\n2、原理\n所谓分页显示,也就是将数据库中的结果集人为的分成一段一段的来显示,这里需要两个初始的参数:\n每页多少条记录(PageSize)?当前是第几页(CurrentPageID)?\n现在只要再给我一个结果集,我就可以显示

  • 如何在十天学内会php之第九天

    学习目的:注意事项      因为我是先学ASP的,所以再做PHP的时候会发现很多地方需要适应。      1、注意不要漏了分号   2、注意不要漏了变量前的   3、使用SESSION的时候注意不要遗漏session_start();      如果发生错误的时候,可以采用以下方法:   1、如果是SQL语句出错,就注释了然后输出SQL语句,注意也要注释调后续的执行SQL语句   2、如果是变量为空,大多是没有传递到位,输出变量检查一下,检查一下表单的id和name   3、如果是数据库连接出错,检查是否正确打开MY SQL和是否遗漏了连接语句   4、注意缩进,排除括号不区配的错误   

  • PHP和XSS跨站攻击

    其实这个话题很早就想说说了,发现国内不少PHP站点都有XSS漏洞。今天偶然看到PHP5的一个XSS漏洞,在此小结一下。顺便提醒,使用PHP5的朋友最好打下补丁,或者升级一下。\n如果你不懂什么是XSS,可以看这里,或者这里(中文的也许会好懂一些)。\n国内不少论坛都存在跨站脚本漏洞,例如这里 有一个Google Hack+XSS的攻击例子,针对的是Discuz 4.0.0RC3。国外也很多这样的例子,甚至Google也出现过,不过在12月初时修正了。跨站攻击很容易就可以构造,而且非常隐蔽,不易被查觉(通常盗取信息后马上跳转回原页面)。如何攻击,在此不作说明(也不要问我),主要谈谈如何防范。首

  • PHP实现简单线性回归之数学库的重要性

    简介  与其它开放源码语言(比如 Perl 和 Python)相比,PHP 社区缺少强有力的工作来开发数学库。  造成这种状况的一个原因可能是由于已经存在大量成熟的数学工具,这可能阻碍了社区自行开发 PHP 工具的工作。例如,我曾研究过一个功能强大的工具 S System,它拥有一组令人印象深刻的统计库,专门被设计成用来分析数据集,并且在 1998 年由于其语言设计而获得了 ACM 奖。如果 S 或者其开放源码同类 R 仅仅是一个 exec_shell 调用,那么为何还要麻烦用 PHP 实现相同的统计计算功能呢?有关 S System、它的 ACM 奖或 R 的更多信息,请参阅相关参考资料。

  • 如何在十天内学会php之第十天

    学习目的:学会用PHP上传文件和发邮件 上传文件表单必须加上 enctype=”multipart/form-data” 和 <input type=”file” name=”file”> 下面看一下代码: f=&HTTP_POST_FILES[\"file\"]; dest_dir=’uploads’;//设定上传目录 dest=dest_dir.’/’.date(“ymd”).”_”.f[\"name\"];//我这

  • 用PHP发电子邮件

    一个发送E-MAIL的脚本也许是你能够在Web 站点上找到的最普通的脚本之一了,虽然它很简单,一个邮件脚本有时会令程序员非常沮丧.PHP中有一个叫做mail()的函数,它只需要知道接收方的地址和信件主体就可以发送邮件,但是要让mail()按你的意思运行你还需要解决一些棘手的问题. \n要使mail()能够运行,你必须有一个SMTP服务器以便PHP能够连接上去.不管这个服务器对邮件程序多么重要,大多数人对它如何运转没有一星半点的概念.在本教程中,我们将揭示SMTP的秘密并解决一些使用PHP发送邮件的常见问题.而本文中的另一些主题将包括循环遍历一个地址列表的方法以及同时以文本和HTML格式向接收者