首 页   · 站长博客 · 用户注册 · 会员登陆  · 会员排行  ·最新主题  ·最近回复  精华区  版权声明  ·论坛管理
  当前登录身份:游客,请先登录。  笔名: 口令: 验证码:   
楼 主  index »  PHP相关资源下载区 » [原创]购物车的源程序,请指教!  


  作者:pnrj7999
  注册时间:2005-04-04
  主题/回复:73/43
  积分:813
  等级:★★★(六级)
  称号:声名鹊起

用户联系方式已设置为保密

 

 发表:2005-04-04 18:48:26 阅读 3786 次 回复 1 次 得分1  |   字号 字色
[原创]购物车的源程序,请指教!
<?

//栏目的物品资料文件名称
if(($filename == "") && ($action == ""))
{
$filename="主目录";
$action="showmain";
}

//读入所有物品清单
$message=file($filename.".txt");

//保存购物车数据的文件名称,以用户的IP地址做文件名
$cartname="$REMOTE_ADDR.dbf";

function printitle($titleshow,$maintitle)
{
global $filename;
global $currentcartnumber;
global $currentcartname;
global $currentcartnum;
global $password;

print("<html><head><title>$titleshow</title>\n");
print("<meta http-equiv=\"目录类型\" content=\"文本/html; 字符集=gb2312\">\n");
print("<style type=text/css>\n");
print("td {font-size: 9pt}\n");
print("body {font-size: 9pt}\n");
print("</style>\n");
print("</head><body bgcolor=FEFEE8><p align=center><font size=3 face=楷体_GB2312>$maintitle</font></p>\n");
print("<script language=\"JavaScript\">\nfunction AddTocart(strCPNO)\n{\nurl = \"cart.php?password=$password&&filename=$filename&&\" + strCPNO\n");
print("window.open(url , 'basket','menubar=no,toolbar=no,location=yes,directories=no,status=no,scrollbars=1,resizable=0,width=590,top=5,left=205,height=320')\n}\n");
print("</script>\n");
return;
}
function printail()
{
print("</form><p align=center>程序制作:<a href=http://howtodo.126.com>提问回答网</a><br>2000-2001");
return;
}
function showcart()
{
global $cartname;
global $message;
global $password;
global $filename;

$totalprice=0;
$cartmessage=file($cartname);
if(count($cartmessage) < 2)
{
print("<center>你还没有选购任何物品,祝您愉快!<br>");
print("<form><input TYPE=\"button\" value=\"继续购物\" onClick=\"window.close();return true;\" id=button1 name=button1></form>");
return;
}
print("<form method=POST action=cart.php?action=updatenum&&password=$password&&filename=$filename>");
print("<center><table bgcolor=fefee8 width=100% cellspacing=0 cellpadding=1>");
print("<tr bgcolor=ffcc66><td align=center width=30%>商品名称</td><td align=right width=15%>零售价</td><td align=center width=15%>数量</td><td width=20%><div align=center>零售价小记</div></td><td align=center width=10%>详细资料</td><td align=center width=10%>取消</td></tr>\n");
$tempcount=count($cartmessage);
$totalprice=0;
for($i=1;$i<$tempcount;$i++)
{
$carttemp=split("&&",chop($cartmessage[$i]),10);
$tempname=split("-",$carttemp[0],5);
$message=file("$tempname[0].txt");
for($j=0;$j<count($message);$j++)
{
$msgtemp=split("&&",chop($message[$j]),10);
if($carttemp[0] == $msgtemp[0])
{
$temprice=$msgtemp[3]*$carttemp[1];
print("<tr><td align=center>$msgtemp[1]</td><td align=right>$msgtemp[3]</td><td align=center>");
print("<input type=text name=num[$i] value=".intval($carttemp[1])." size=10 maxlength=5>");
print("</td><td><div align=right>$temprice</div></td><td align=center><a href=$msgtemp[4] target=_blank>详细资料</td>");
print("<td align=center><input type=\"button\" value=\"不买了\" onclick=\"if (confirm('真的不买 $msgtemp[1] 了吗?')) window.location='cart.php?action=delete&&password=$password&&delid=$i&&filename=$filename'\" name=delitem></td></tr>\n");
$totalprice += $temprice;
continue;
}
}
}
print("<tr bgcolor=ffcc66><td></td><td></td><td></td><td><div align=right>总计:$totalprice</div></td><td></td><td></td></tr>\n");
print("</table>\n");
print("<table width=200><tr>");
print("<td width=25%><input TYPE=submit value=更新数量 name=update></form></td>\n");
print("<td width=25%><form action=\"cart.php?action=delall&&password=$password&&filename=$filename\" method=\"POST\" name=\"frmDel\">\n");
print("<input TYPE=\"button\" value=\"清空购物车\" onClick=\"if (confirm('确定要清空购物车吗?')) frmDel.submit();\" id=\"button2\" name=\"button2\"></form></td>\n");  
print("<td width=25%><form><input TYPE=\"button\" value=\"继续购物\" onClick=\"window.close();return true;\" id=button3 name=button3></form></td>\n");
print("<td widtn=25%><form method=POST action=cart.php?action=pay&&password=$password&&filename=$filename><input type=submit value=去收银台 name=pay></form></td>\n");
print("</tr></table>\n");
}

//检查购物车文件文件
if(file_exists($cartname))
{
//读入购物车的内容
$cartmessage=file($cartname);

//提取内部的标识密码
$passwordread=chop($cartmessage[0]);
// print("file exist<br>");
}
//print("readpassword:$passwordread<br>");

//检查是否有标识密码,或是否与保存在购物车里的密码相同
if(($password == "") || ($password != $passwordread))
{
//生成新的用户基于IP地址的随机密码

//建立新的购物车
$carthandle=fopen($cartname,"w");

//使用系统毫秒数随机生成密码种子
$seedarray=microtime();
$seedstr=split(" ",$seedarray,5);
$seed=$seedstr[0]*100000000;

//初始化随机数发生器
srand($seed);

//生成4位到10位的随机整数
$password=rand(1000,9999999999);

//保存到购物车文件内
fputs($carthandle,$password."\r\n");

// print("new password:".$password);
}

//缺省操作是显示商品
if($action == "")
{
//标题
printitle("商品导购程序","我们的\"".$filename."\"现提供下面的商品");

//表格头部
print("<p align=right><table width=300><tr><td width=50%><a href=cart.php?password=$password>返回主页</a></td><td width=50%><a  name=\"che\" style=\"cursor:hand\" onClick=window.open(\"cart.php?password=$password&&filename=$filename&&action=showcart\",\"basket\",\"menubar=no,toolbar=no,location=no,directories=no,status=no,scrollbars=1,resizable=0,width=590,top=5,left=205,height=320\")><font color=d00000>[ 察看已购物品清单 ]</font></a></td></tr></table><p>\n");
print("<center><table border=1 width= 760 cellspacing=0 cellpadding=1 bordercolorlight=\"#Fae2b1\" bordercolordark=\"#fae2b1\">\n");
print("<tr bgcolor=ffcc66><td width=5% align=center>编号</td><td width=20%  align=center>物品名称</td><td width=50%  align=center>物品简介</td><td width=10% align=right>价格</td><td width=5% align=center>定购</td><td width=10%  align=center>详细内容</td></tr>\n");

//显示物品清单
for($i=0;$i<count($message);$i++)
{
$messagetemp=split("&&",$message[$i],10);
$messagetemp2 = split("-",$messagetemp[0],10);
print("<tr><td align=center>$messagetemp2[1]</td><td align=center>$messagetemp[1]</td><td align=center>$messagetemp[2]</td><td align=right>$messagetemp[3]</td><td align=center><a href=\"#\" onClick=\"AddTocart('action=addcart&&id=$messagetemp[0]')\" style=\"cursor:hand\"><img src=gouwuche.gif alt=定购 border=0></a></td><td align=center><a href=$messagetemp[4] target=_blank><img src=detail.gif alt=详细内容 border=0></a></td></tr>\n");
}
print("</table></center>\n");
printail();
}
elseif($action == "showmain")
{
printitle("欢迎来到提问回答网超市","欢迎来到提问回答网超市,这里的东西只用来测试!!<br>非常感谢您的支持!!由于好多物品没有添加,请进入管理模式添加商品<br><a href=cartadmin.php?userid=howtodo&&password=howtodo>进入管理模式</a><br>");
print("<center>\n");
print("<table bgcolor=fefee8 width=700 border=1 cellspacing=0 cellpadding=5>\n");
for($i=0;$i<count($message);$i++)
{
$tempmsg=split("&&",$message[$i],999);
print("<tr><td align=center width=10% bgcolor=ffcc66>$tempmsg[0]</td><td width=90%>");
for($j=1;$j<count($tempmsg);$j++)
{
print("<a href=cart.php?password=$password&&filename=$tempmsg[$j]>$tempmsg[$j]</a> ");
}
print("</td></tr>\n");
}
print("</table>\n");
printail();
}
elseif($action == "showcart")
{
printitle("您的购物车清单","您已选购的商品清单");
showcart();
printail();
}
elseif($action == "addcart")
{
$currentnumber=count($cartmessage);

//准备更新购物车清单
$carthandle=fopen($cartname,"w");

//保存密码
fputs($carthandle,"$password\r\n");

//物品更新标记
$cartupdatesign=0;
for($i=1;$i<$currentnumber;$i++)
{
$carttemp=split("&&",chop($cartmessage[$i]),10);

//检查购物车内是否已经有此物品
if($carttemp[0] == $id)
{
//如果存在,购物数目增加1
$carttemp[1]++;
fputs($carthandle,"$carttemp[0]&&$carttemp[1]\r\n");

//设置已经更新标记
$cartupdatesign=1;
}
//如果不一样则输出原内容
else
{
fputs($carthandle,"$carttemp[0]&&$carttemp[1]\r\n");
}
}
//检查更新标记,否则追加此物品
if(!$cartupdatesign)
{
fputs($carthandle,"$id&&1\r\n");
}

//更新完毕,关闭文件
fclose($carthandle);

$message=file($filename.".txt");

//显示更新后的物品清单
printitle("添加物品完毕","您添加后购物车的物品清单");
showcart();
printail();
}
elseif($action == "updatenum")
{
$tempsign=0;
for($i=1;$i<count($cartmessage);$i++)
{
$tempnum="$num[$i]";
if(($tempnum < 1) || (count($tempnum) > 5) || ($tempnum != strval(intval($tempnum))) )
{
printitle("输入数量错误","您输入的数量 $tempnum 错误,请输入长度小于5位的正整数!<br>您的购物车的物品清单");
$tempsign=1;
break;
}
}
if(!$tempsign)
{
$carthandle=fopen($cartname,"w");
fputs($carthandle,$cartmessage[0]);
for($i=1;$i<count($cartmessage);$i++)
{
$carttemp=split("&&",$cartmessage[$i],10);
fputs($carthandle,"$carttemp[0]&&$num[$i]\r\n");
}
fclose($carthandle);
printitle("数量已经更新","您的购物车的物品清单");
}
showcart();
printail();
}
elseif($action == "delete")
{
$carthandle=fopen($cartname,"w");
fputs($carthandle,$cartmessage[0]);
for($i=1;$i<count($cartmessage);$i++)
{
if($i != $delid)
{
fputs($carthandle,$cartmessage[$i]);
}
}
fclose($carthandle);
printitle("已经删除了","你的购物车的物品清单");
showcart();
printail();
}
elseif($action == "delall")
{
$carthandle=fopen($cartname,"w");
fputs($carthandle,$cartmessage[0]);
fclose($carthandle);
printitle("已经清空了","您的购物车已经清空了!欢迎您重新选择商品!");
showcart();
printail();
}
elseif($action == "pay")
{
printitle("银台","您好!这里是收银台!");
print("<center><table bgcolor=fae2b1 width=300>\n");
print("<form method=POST action=cart.php?action=sendmessage&&password=$password&&filename=$filename>\n");
print("<tr><td align=center bgcolor=ffcc66>请填写您的会员信息</td></tr>\n");
print("<tr><td align=center>您的会员代码:<input type=text name=memberid size=20 maxlength=20></td></tr>\n");
print("<tr><td align=center>您的会员密码:<input type=text name=memberpassword size=20 maxlength=20></td></tr>\n");
print("<tr><td align=center><table><tr><td><input type=submit name=submit value=我添好了></form></td><td><form><input TYPE=\"button\" value=\"继续购物\" onClick=\"window.close();return true;\" id=button1 name=button4></form></td></tr></table></td></tr>\n");
print("</table>\n");
printail();
}
elseif($action == "sendmessage")
{
printitle("已经成功发送","您的购物信息已经成功的发送,感谢您的光临!<br>");
printail();
}
else
{
printitle("错误","发生内部错误,请通知管理员!谢谢!");
printail();
}

?>
 
 1#楼  
 
  回复人:飞飞
  注册时间:2007-09-20
  主题/回复:0/13
  积分:490
  等级:★★☆(五级)
  称号:略有小成

   
 1#楼 发表于2009-12-01 15:09:56  评分:1 

回复给楼主(pnrj7999)
这个程序貌似不对啊
调了半天没弄对
  页数1/1首页 « 1 » 末页
  发表回复:您还没有登陆,无法发表回复。请先[登陆]

一起PHP技术联盟 主办:一起PHP 联系方式:站长QQ:4304410 QQ群:8423742 20159565 站长博客 E-mail: nqp@nqp.me 执行时间:0.016sec
SimsmaBBS 2008 (v6.0) Developed by 17php.com,Copyright(C)2003-2010 All rights reserved. 副本授权:一起PHP官方专用版