助力软件开发企业降本增效 PHP / java源码系统,只需一次付费,代码终身使用! 广告
  在首页,点“购买”后,将商品添加到购物车。   第一步:建立buy.php 在cart根目录下建立buy.php. 代码: ~~~ <?php $id=$_GET['id']; echo 'goods ID '.$id.', Test Success buy.php'; ?> ~~~   $_GET[id],接收点击“购买”按钮后,首页传过来的参数id。   echo行,输出id参数。 * * * * *   打开首页,点“购买”按钮,打开buy.php页,显示:   goods ID 4, Test Success buy.php   说明测试成功,完成了buy.php页面正常显示和参数传递 * * * * *   第二步:进行正式代码书写 ~~~ <?php //启用SESSION功能. session_start(); //设置网页字符集,否则,提示时会出现乱码. header("Content-type:text/html;charset=utf8"); //判断是否有goodsid和goodsnum的SESSION记录. if(!isset($_SESSION['goodsid']) && !isset($_SESSION['goodsnum'])){ //给goodsid和goodsnum的SESSION变量赋值. $_SESSION['goodsid']=$_GET['id'].'@'; $_SESSION['goodsnum']='1'.'@'; }else{ //将SESSION['goodsid']变量分割开,这样便于后边判断. $array=explode('@',$_SESSION['goodsid']); //判断新传来的商品id是否已在goodsid中. if(in_array($_GET['id'],$array)){ //如果存在,则出现提示. echo "<script>alert('此商品已在购物车里!');history.back();</script>"; //退出程序,即下边代码不再执行. exit; }//if end. //如果检测goodsid的SESSION数组变量中没有此商品id,则将此商品id赋值给SESSION数组. //注意,此时赋值与上边稍有不同,看等式.".="用此表达式,意思将新id添加到原变量后边. $_SESSION['goodsid'].=$_GET['id'].'@'; $_SESSION['goodsnum'].='1'.'@'; }//if end. var_dump($_SESSION['goodsid']); //最后,将跳转到购物车页。 echo "<script>window.location.href='shopping_car.php';</script>"; ?> ~~~     往购物车中添加商品后,因为有可能更改数量等,所在是临时性存储,一定要用到SESSION功能([SESSION详解](http://www.w3school.com.cn/php/php_sessions.asp))。   所以,必须先开启session_start(); * * * * *   isset($_SESSION['goodsid'])   isset(),此函数是检测变量是否设置。 $_SESSION[],设置SESSION变量. * * * * *   explode('@',$_SESSION['goodsid']) explode('字符',字符串),以某个字符为标记,分解字符串,分解后将以数组形式出现。 * * * * *   in_array($_GET['id'],$array)   in_array(),搜索数组中是否存在指定的值。   搜索$array数组中是否含有新传递过来的商品id.   如果有,则出现js代码提示。   如果没有,则将新购商品id添加到SESSION['goodsid']数组中,重点注意表达式“.=”,这是字符串连接表达式。 * * * * *   window.location.href='shopping_car.php'   是js代码的跳转代码。shopping_car.php是购物车页。下一节讲解。