帝国cms实现游客用手机号查询自己订单情况
摘要:能否实现游客查询订单情况,好像物流这样,输入一个单号,就能查询到进度,不用注册会员都查询到进度的。可以吗?游客可以用手机号查询自己的订单,供分两种情况:1、没有订单时查询;2、有...
能否实现游客查询订单情况,好像物流这样,输入一个单号,就能查询到进度,不用注册会员都查询到进度的。可以吗?
游客可以用手机号查询自己的订单,供分两种情况:1、没有订单时查询;2、有订单时查询:
实现方法:
在创建一个dingdan.php放在网站根目录下,代码如下:
<?php require('e/class/connect.php'); //引入数据库配置文件和公共函数文件 require('e/class/db_sql.php'); //引入数据库操作文件 $link=db_connect(); //连接MYSQL $empire=new mysqlquery(); //声明数据库操作类 ?> <?php if(isset($_POST['phone'])){ $hm=$_POST['phone']; $num=$empire->gettotal("select count(*) as total from {$dbtbpre}enewsshopdd where phone = '$hm'"); if($num > 0){ ?> <table width="80%" border="1" align="center"> <caption> 订单结果 </caption> <tr align="center"> <th>订单人</th> <th>价格</th> <th>订单编号</th> <th>时间</th> <th>是否发货</th> <th>快递编号</th> </tr> <?php $sql=$empire->query("select * from {$dbtbpre}enewsshopdd where phone = '$hm' order by ddtime desc"); //查询订单表最新记录 while($r=$empire->fetch($sql)) //循环获取查询记录 { ?> <tr align="center"> <td><?=$r[truename]?></td> <td><?=$r[alltotal]?></td> <td><?=$r[ddno]?></td> <td><?=$r[ddtime]?></td> <td>已发货</td> <?php $k=$empire->fetch1("select retext from {$dbtbpre}enewsshopdd_add where ddid = $r[ddid]"); echo"<td>".$k['retext']."</td>"; ?> </tr> <? } ?> </table> <? }else{ echo "<script>alert('查询不到');</script>"; } } ?> <?php if($num == 0){ ?> <script> function chkPrice(obj){ obj.value = obj.value.replace(/[^\d.]/g,""); //必须保证第一位为数字而不是. obj.value = obj.value.replace(/^\./g,""); //保证只有出现一个.而没有多个. obj.value = obj.value.replace(/\.{2,}/g,"."); //保证.只出现一次,而不能出现两次以上 obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$","."); } function chkLast(obj){ // 如果出现非法字符就截取掉 if(obj.value.substr((obj.value.length - 1), 1) == '.') obj.value = obj.value.substr(0,(obj.value.length - 1)); } </script> <div style="font-size:12px; width:100%;height:100%;"> <div style="text-align:center;"><br> <form action="" method="post"> <input style="border:1px solid #3374b4;height:33px;line-height:33px;padding-left:5px" type="text" name="phone" id="txtFee" class="common" onkeyup="chkPrice(this);" onblur="chkLast(this)" placeholder="请输入手机号查询你的订单" onpaste="javascript: return false;"/> <input style="border:1px solid #3374b4;background:#3374b4;padding:10px 10px;color:#fff;text-decoration:none;vertical-align:top" type="submit" value="查询"></form> </div> </div> <? } ?> <? db_close(); //关闭MYSQL链接 $empire=null; //注消操作类变量 ?>
注:上述代码可能不安全,hm直接放到sql里