易截截图软件、单文件、免安装、纯绿色、仅160KB

php 购物车实例

php 购物车实例
 <?php
/**
php 购物车实例
网上搜到的,简单容易理解。cookie存购物车ID,db存购物车数据。 购物车session的产生代码
*/
if(! $session && ! $scid) {
/*
session用来区别每一个购物车,相当于每个车的身份证号;
scid只用来标识一个购物车id号,可以看做是每个车的名字;
当该购物车的id和session值两者都不存在时,就产生一个新购物车
*/
$session = md5(uniqid(rand()));
/*
产生一个唯一的购物车session号
rand()先产生个随机数,uniqid()再在该随机数的基础上产生一个独一无二的字符串,最后对该字符串进行md5
*/
SetCookie(scid, $session, time() + 14400);
/*
设置该购物车cookie
变量名:scid(不知到这里是不是少了一个 $号呢?=》更正:scid要加“”)
变量值: $session
有效时间:当前时间+14400秒(4小时内)
关于setcookie函数的详细用法,大家还是参看php手册吧~
*/
}
class Cart { //开始购物车类
function check_item( $table, $session, $product) {
/*
查验物品(表名,session,物品)
*/
$query = SELECT * from $table WHERE session=' $session' AND product=' $product' ;
/*
看一看'表'里该'购物车'中有没有该'产品'
即,该产品有没有已经放入购物车
*/
$result = mysql_query( $query);
if(! $result) {
return 0;
}
/*
查询失败
*/
$numRows = mysql_num_rows( $result);
if( $numRows == 0) {
return 0;
/*
若没有找到,则返回0
*/
} else {
$row = mysql_fetch_object( $result);
return $row->quantity;
/*
若找到,则返回该物品数量
这里有必要解释一下mysql_fetch_object函数(下面还会用到):
【mysql_fetch_object() 和 mysql_fetch_array() 类似,只有一点区别 - 返回一个对象而不是数组。】
上面这句话摘自php手册,说得应该很明白了吧~
简单的说就是,取一条记录中的某个字段,应该用“->”而不是像数组一样用下标
*/
}
}
function add_item( $table, $session, $product, $quantity) {
/*
添加新物品(表名,session,物品,数量)
*/
$qty = $this->check_item( $table, $session, $product);
/*
调用上面那个函数,先检查该类物品有没有已经放入车中
*/
if( $qty == 0) {
$query = INSERT INTO $tabl


相关文档:

优化php代码的42条建议

1.如果一个方法可静态化,就对它做静态声明。速率可提升至4倍。
2.echo 比 print 快。
3.使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接。
4.在执行for循环之前确定最大循环数,不要每循环一次都计算最大值。
5.注销那些不用的变量尤其是大数组,以便释放内存。
6.尽量避免使用__get,__set,__autolo ......

Apache+MySQL+PHP环境配置

版本:apache_2.2.6-win32-x86-no_ssl
直接按默认安装,安装时要关闭浏览器跟下载软件,否则安装完成后服务器不能启动,报不能绑定80端口的错误。启动后在地址栏中输入“http://localcast/”或“http://127.0.0.1/”,如果可以看到"It Works",说明安装成功。
如果需要更改默认路径,打开“C:\P ......

PHP的ip2long有bug,慎用

先看看下边这段PHP代码。这段使用ip2long函数,对同一个IP进行转换。当然,也有人认为58.99.011.1和058.99.011.1算不上合法的
IP,那就Return,此文对你没有帮助。
为什么要使用带前导零的ip:为了在数据库中查询,这个可以在IP库中定位到ip所对应的位置信息。虽然没有整型的IP查询效率高,但毕竟直观啊。
<?php
ech ......

本地PHP连接远程服务器

    之前一直都是在服务器调试程序,有一天想弄到本地来,可死活就是连不上远程服务器了。
    本地:windows+apache。
    远程服务器:windows+ms sql 2008.
   php和apache该配置的都配了,其他程序也可以运行,可就是连不上数据库。
   苦苦寻觅 ......

PHP网站开发过程中注意这些安全知识

1、古老的欺骗SQL语句
在默认模式下,即使是你忘了把php.ini拷到/usr/local/lib/php.ini下,php还是打开magic_quotes_gpc=on。
这样所有从GET/POST/Cookie来的变量的单引号(')、双引号(")、反斜杠backslash(\)以及空字元NUL
(the null byte)都会被加上反斜杠,以使数据库能够正确查询。
但是在php-4-RC2的时候引入 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号