浏览模式: 标准 | 列表分类:网站|PHP学习

php使用ADODB实现session共享

近来很忙。php使用ADODB实现session共享,来自phpchina。

» 阅读全文

Tags: adodb, session

phpMyAdmin的header_http.inc.php

 

PHP代码
  1. /**     
  2.  * Sends http headers     
  3.  */      
  4. $GLOBALS['now'] = gmdate('D, d M Y H:i:s') . ' GMT';      
  5. header('Expires: ' . $GLOBALS['now']); // rfc2616 - Section 14.21      
  6. header('Last-Modified: ' . $GLOBALS['now']);      
  7. header('Cache-Control: no-store, no-cache, must-revalidate, pre-check=0, post-check=0, max-age=0'); // HTTP/1.1      
  8. header('Pragma: no-cache'); // HTTP/1.0      
  9. // Define the charset      
  10. header('Content-Type: text/html; charset=utf-8']);  

php企业建站系统重写进度

php建站系统,采用了tinybutstorng模板类。上个版本还使用了adodb类库。

这个版本采用utf-8编码。去除了adodb类库,小强内置了mysql的查询功能。于是效率提升了。

新闻和产品都是三级分类的。原本是要做成无限分类的,可是小强这里写不出了。还是没有php的heredoc方便啊。

进度:
管理员模块………………………………over

投票模块…………………………………over

留言本……………………………………over

新闻模块…………………………………over
( 根据path,list出news(or product))

产品模块…………

购物车…………

订单…………

会员…………

php中header的用法

标头 (header) 是服务器以 HTTP 协义传 HTML 资料到浏览器前所送出的字串,在标头 与 HTML 文件之间尚需空一行分隔。有关 HTTP 的详细说明,可以参 RFC 2068 官方文件 (http://www.w3.org/Protocols/rfc2068/rfc2068)。在 PHP 中送回 HTML 资料前,需先 传完所有的标头。
  
注意: 传统的标头一定包含下面三种标头之一,并只能出现一次。
  
Content-Type: xxxx/yyyy
Location: xxxx:yyyy/zzzz
Status: nnn xxxxxx
  
在新的多型标头规格 (Multipart MIME) 方可以出现二次以上。

范例一: 本例使浏览器重定向到淡水河边的网站。header重定向 就等价于替用户在地址栏输入url

PHP代码
  1. Header("Location: http://www.tsingfeng.com";);    
  2. exit();  

范例二: 要使用者每次都能得到最新的资料,而不是 Proxy 或 cache 中的资料,可以使用下列的标头

PHP代码
  1. header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1   
  2. header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // 过去的时间  

 范例三: 让使用者的浏览器出现找不到档案的信息。

PHP代码
  1. header("HTTP/1.0 404 Not Found");  

范例四:让使用者下载档案

PHP代码
  1. // 这样将会直接输出一个 PDF 文件   
  2. header('Content-type: application/pdf');   
  3. // 这样做就会提示下载 PDF 文件 downloaded.pdf   
  4. header('Content-Disposition: attachment; filename="downloaded.pdf"');   
  5. // 这是 original.pdf 的源文件   
  6. readfile('original.pdf');  

非递归的php+mysql无限级分类

要实现无限级分类,递归一般是第一个也是最容易想到的,但是递归一般被认为占用资源的方法,所以很多系统是不考虑使用递归的
本文还是通过数据库的设计,用一句sql语句实现
数据库字段大概如下:
-----------------------------------------------------------------------------------
id              编号
fid             父分类编号
class_name         分类名
path          分类路径,以 id 为节点,组成类似    ,1,2,3,4, 这样的字符串
----------------------------------------------------------------------------------

可以假设有如下的数据

id      fid         class_name             path
----------------------------------------------------
1       0           分类1             ,1,
2       0           分类2             ,2,
3       1           分类1-1          ,1,3,
4       1           分类1-2          ,1,4,
5       2           分类2-1          ,2,5,
6       4           分类1-2-1       ,1,4,6,
----------------------------------------------------

PHP代码
  1. <?php     
  2. $sql="SELECT * FROM tree order by path";   
  3. $result=$nbs->Query($sql);   
  4. while($rows=$nbs->fetch_array($result)){   
  5.     if(substr_count($rows['path'],',')>2){   
  6.         for($i=0;$i<(substr_count($rows['path'],',')-2);$i++)   
  7.             echo ' ';   
  8.     }   
  9.     echo $rows['class_name'].'<br>';   
  10. }   
  11. ?>   

其中$nbs是数据库操作类,此方法简单明了!

原文地址:http://www.phpangel.cn/php/unlimited-categories.html

Tags: 递归, 无限分类

Tinybutstrong的plug-ins进行mysql分页摸索

这篇日志被加密了,请输入密码后查看。

淡水河边php视频教程第七集发布(留言本完整实例)

淡水河边php视频教程基础篇终章。
基于一个php的留言本的讲解。
a部分说明了数据库的设计和一些公用的功能模块,以及显示留言这一块(包含了分页)。
b部分说明了发布留言,管理登录,审核留言,删除留言,删除回复,管理员登出。

» 阅读全文

Tags: php视频教程

PHP5与MYSQL5 web开发技术详解 部分摘录

动态生成单选按钮和动态生成多选。html表单的重复提交,安全等问题

» 阅读全文

使用Tinybutstrong的plug-ins进行mysql分页

我上次的文章( tinybutstrong的By-Page分页插件使用)是按官方是实例用的数组做的,可能说明不够本地话。这次,我使用了mysql做的。tinybutstrong其实已经集成了部分sql的操作,我们只要输入sql语句就可以了。以前淡水河边使用了adodb,这样效率就没那么高了,模板解析一次(包括了数据库的调用解析,就算没有调用,至少有个判断啥的操作),adodb类又是比较庞大的类库,又是判断啥的操作。所以效率肯定没有直接用tinybutstrong内封装好的数据操作高。

» 阅读全文

Tags: tinybutstrong, 分页

php代码效率测试

PHP代码
  1. $GLOBALS['_start_time_'] = array_sum(explode(' ', microtime()));   
  2. /**  
  3. * 调试使用情况  
  4. */  
  5. function debug_using()   
  6. {   
  7. echo '执行时间:'.(array_sum(explode(' ', microtime()))-$GLOBALS['_start_time_']).' 秒.<br>';   
  8. if (function_exists('memory_get_usage')) {   
  9. echo '内存使用:'.number_format(memory_get_usage()).' 字节.<br>';   
  10. }   
  11. }  

…………

 

PHP代码
  1. debug_using();  
Records:25812345678910»