网络中流行的PHP分页效果
31 December 2009 23:14 Thursday by
小屋
浏览(1035)

自动适应范围的页码分页程序
也就是说,页码格式如下
<< < 1 2 3 4 5 6 7 > >>
<< < 6 7 8 9 10 11 12 > >>
<?php
/*
* author:php100.com 论坛 nicholas_ng
*/
function page($page,$total,$phpfile,$pagesize=3,$pagelen=3){
$pagecode = '';//定义变量,存放分页生成的HTML
$page = intval($page);//避免非数字页码
$total = intval($total);//保证总记录数值类型正确
if(!$total) return array();//总记录数为零返回空数组
$pages = ceil($total/$pagesize);//计算总分页
//处理页码合法性
if($page<1) $page = 1;
if($page>$pages) $page = $pages;
//计算查询偏移量
$offset = $pagesize*($page-1);
//页码范围计算
$init = 1;//起始页码数
阅读全文>>
PHP100编程安全性小结
31 December 2009 23:03 Thursday by小屋 浏览(1014)
规则 1:绝不要信任外部数据或输入
关于 Web 应用程序安全性,必须认识到的第一件事是不应该信任外部数据。外部数据(outside data) 包括不是由程序员在 PHP 代码中直接输入的任何数据。在采取措施确保安全之前,来自任何其他来源(比如 GET 变量、表单 POST、数据库、配置文件、会话变量或 cookie)的任何数据都是不可信任的。
对用户输入进行清理的一个简单方法是,使用正则表达式来处理它。
规则 2:禁用那些使安全性难以实施的 PHP 设置
已经知道了不能信任用户输入,还应该知道不应该信任机器上配置 PHP 的方式。例如,要确保禁用 register_globals。如果启用了 register_globals,就可能做一些粗心的事情,比如使用 $variable 替换同名的 GET 或 POST 字符串。通过禁用这个设置,PHP 强迫您在正确的名称空间中引用正确的变量。要使用来自表单 POST 的变量,应该引用 $_POST['variable']。这样就不会将这个特定变量误会成 cookie、会话或 GET 变量。
要 检查的第二个设置是错误报告级别。在开发期间,希望获得尽可能多的错误报告,但是在交付项目时,希望将错误记录到日志文件中,而不是显示在屏幕
阅读全文>>
一个网络,两种中文
30 December 2009 22:59 Wednesday by小屋 浏览(919)
越来越多的迹象表明,中国的网络监管部门已经开始了它们的“白名单”计 划。根据这个计划,凡是提供中文内容的网站,如果没有向中国的有关部门做出备案,报告自己的姓名、身份证号、住址、电话、居所,那么就会在2009年12 月底之前被彻底屏蔽,无法直接在中国大陆进行访问。在最近几天,很多中小型网站和独立博客已经遭遇这样的命运。根据一份官方的评论文章,受到影响的站点超 过300万个。其中,包括我的个人博客。
备案是一个法律所规定的程序,这使得整件事情看起来像是一个严肃的执法过程。不过,相信有许多站长和Blogger并不那么看。对于开设论坛的站长 来说,备案需要他们拥有自己的公司,同时拥有100万元以上的资金。论坛为什么会和实体以及巨额的资金联系起来,这让人感觉非常困惑。一个漫画论坛或者读 书论坛如何能筹措100万元资金?而对于Blogger而言,即便是在报纸和杂志上发表文章,编辑部也从来不曾索要过如此详细的个人资料。令人好奇的是, 要这些个人资料去做什么呢?
许多Blogger和我做了一样的选择---购买国外网络服务商提供的域名,把博客迁移到海外服务器上。这并不能有效避免跨省追捕,但是多少让人心 理上觉得有一点宽慰。现在,这种模式遭到了严厉的打击。很明显,类似这样的海外中文网站并不在白名单之列,也就无法直接访问。由此,产生了一系列有趣的问 题:
按照现行的规定,其实是中国的网络监管部门对所有的中文内容网站宣布了管辖权。只要你在网络上用中文发表内容,那么就必须备案,否则中国大陆人民就 无法访问。那么,加拿大的华人网站需要向中国政府备案么?他们使用中文,但是站长很可能是加拿大公民。为什么加拿大公民要服从中国政府的管理?美国呢?新 加坡呢?澳大利亚呢?这一管辖权是根据语言而来的,那么,英美会不会要求全世界的英文站点向它们备案?比如说CCTV-9,或者是《中国日报》的站点?除 了普通网民,世界上也有大量政府网站、公司网站、公益网站提供中文页面,需要不需要让美国白宫的网站也在中国
阅读全文>>
10个节约开发时间的CSS技巧
29 December 2009 18:28 Tuesday by小屋 浏览(977)
1.简单的纯CSS Tooltip

通过这些代码,你可以做出简单的Tooltip。这是CSS代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
a:hover {
background:#ffffff; /*要兼容IE6的话必须添加背景色*/
text-decoration:none;
}
a.tooltip span {
display:none;
padding:2px 3px;
margin-left:8px;
width:130px;
}
a.tooltip:hover span{
display:inline;
position:absolute;
background:#ffffff;
border:1px solid #cccccc;
color:#6c6c6c;
} |
HTML代码如下:
阅读全文>>
<?php
$link=mysql_connect('localhost','root',”);
mysql_select_db('abc',$link);
$sql = “select * from book”;
$result = mysql_query($sql);
while($row = mysql_fetch_row($result))
{
echo $row['cid'].'::'.$row[1].'<br>';
}
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
echo $row['cid'].'::'.$row[1].'<br>';
}
$result = mysql_query($sql);
while($row = mysql_fetch_object($result))
{
echo $row->cid.'::'.$row->title.”<br>”;
}
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result))
{
echo $row['cid'].'::'.$row[1].'<br>';
}
?>
分析:
mysql_fetch_row, 这个函数是从结果集中取一行作为枚举数据,从和指定的结果标识关联的结果集中取得一行数据并作为数组返回。每个结果的列储存在一个数组的单元中,偏移量从 0 开始。 注意,这里是从0开始偏移,也就是说不能用字段名字来取值,只能用索引来取值,所以如下代码是取不到值的:
while($row = mysql_fetch_row($res)){
阅读全文>>