php 购物车程序
代码如下 | 复制代码 |
<?php /** } //返回所有的商品的信息 }
html <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> alert(num+name+price);
}
<table> <tr><td>0</td><td><label name='name' >商品1</label></td><td><label name='price'>1</label> <tr><td>1</td><td><label name='name' >商品2</label></td><td><label name='price'>2</label> <tr><td>2</td><td><label name='name' >商品3</label></td><td><label name='price'>1</label> <tr><a href='show.php'>查看购物车</a></tr>
</body> <?php $name=$_POST['name']; show.php <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> print_r($shopcar); foreach ($productList as $product){ |
代码如下 | 复制代码 |
<?php $s = rand(100,200); $pi=pi(); $r=sqrt($s/$pi); $qz1=round($r); //四舍五入取整 $qz2=ceil($r); //进一法取整 $qz3=floor($r); //舍去法取整 echo "随机产生的圆的面积为:".$s."<br>"; echo "通过除法和开方计算出的圆的半径为:".$r."<br>"; echo "四舍五入取整后:".$qz1."<br>"; echo "进一法取整后:".$qz2."<br>"; echo "舍去法取整后:".$qz3."<br>"; ?> |
本例我们使用Mysql数据库,创建一张user表,表结构如下:
代码如下 | 复制代码 |
CREATE TABLE `user` ( INSERT INTO `user` (`id`, `username`, `password`, `login_time`, `login_ip`, `login_counts`) |
用户在输入用户名和密码后,提示用户登录成功,并显示相关登录信息,如果点击“退出”,则退出到用户登录界面。
进入index.php,如果用户已登录则显示登录信息,如果未登录则显示登录框要求用户登录。
代码如下 | 复制代码 |
<div id="login"> |
注意在index.php文件头应该加上语句:session_start; 同时在head部分引入jquery库,以及包含global.js,您还可以为登录框写个漂亮的CSS样式,当然本例已经略微写了个简单的样式,请查看源码。
代码如下 | 复制代码 |
<script type="text/javascript" src="../Script/jquery.js"></script> |
global.js文件包括了将要实现的jquery代码。首先要做的就是让输入框获得焦点,像百度和google那样一打开,鼠标光标就在输入框内。使用代码如下:
代码如下 | 复制代码 |
$("input:text,textarea,input:password").focus(function() { |
用户登录
用户点击登录按钮后,首先要验证用户的输入不能为空,然后向后台login.php发送一个Ajax请求。当后台验证登录成功后,返回登录用户信息:如用户登录次数和上次登录时间等;如果登录失败,则返回登录失败信息。
代码如下 | 复制代码 |
$(".btn").live('click',function(){ var user = $("#user").val(); var pass = $("#pass").val(); if(user==""){ $('<div id="msg" />').html("用户名不能为空!").appendTo('.sub').fadeOut(2000); $("#user").focus(); return false; } if(pass==""){ $('<div id="msg" />').html("密码不能为空!").appendTo('.sub').fadeOut(2000); $("#pass").focus(); return false; } $.ajax({ type: "POST", url: "login.php?action=login", dataType: "json", data: {"user":user,"pass":pass}, beforeSend: function(){ $('<div id="msg" />').addClass("loading").html("正在登录...").css("color","#999") .appendTo('.sub'); }, success: function(json){ if(json.success==1){ $("#login_form").remove(); var div = "<div id='result'><p><strong>"+json.user+"</strong>,恭喜您登录成功!</p> <p>您这是第<span>"+json.login_counts+"</span>次登录本站。</p> <p>上次登录本站的时间是:<span>"+json.login_time+"</span></p><p> <a href='#' id='logout'>【退出】</a></p></div>"; $("#login").append(div); }else{ $("#msg").remove(); $('<div id="errmsg" />').html(json.msg).css("color","#999").appendTo('.sub') .fadeOut(2000); return false; } } }); }); |
我在进行Ajax请求时,数据传输格式使用的是json,返回的数据也是json数据,使用JS将json数据解析,得到登录后的用户信息,然后通过append追加到#login元素下,完成登录操作。
用户退出
当点击“退出”时,向login.php发送一个Ajax请求,后台注销所有Session,页面重新回到登录界面。
代码如下 | 复制代码 |
$("#logout").live('click',function(){ |
login.php
根据前台提交的请求,登录时,获取用户输入的用户名和密码,并与数据库中对应的用户名和密码进行比对,如果比对成功,则将新的更新该用户登录信息,并组装json数据传给前台。
代码如下 | 复制代码 |
session_start(); require_once ('connect.php'); $action = $_GET['action']; if ($action == 'login') { //登录 $user = stripslashes(trim($_POST['user'])); $pass = stripslashes(trim($_POST['pass'])); if (empty ($user)) { echo '用户名不能为空'; exit; } if (empty ($pass)) { echo '密码不能为空'; exit; } $md5pass = md5($pass); //密码使用md5加密 $query = mysql_query("select * from user where username='$user'"); $us = is_array($row = mysql_fetch_array($query)); $ps = $us ? $md5pass == $row['password'] : FALSE; if ($ps) { $counts = $row['login_counts'] + 1; $_SESSION['user'] = $row['username']; $_SESSION['login_time'] = $row['login_time']; $_SESSION['login_counts'] = $counts; $ip = get_client_ip(); //获取登录IP $logintime = mktime(); $rs = mysql_query("update user set login_time='$logintime',login_ip='$ip', login_counts='$counts'"); if ($rs) { $arr['success'] = 1; $arr['msg'] = '登录成功!'; $arr['user'] = $_SESSION['user']; $arr['login_time'] = date('Y-m-d H:i:s',$_SESSION['login_time']); $arr['login_counts'] = $_SESSION['login_counts']; } else { $arr['success'] = 0; $arr['msg'] = '登录失败'; } } else { $arr['success'] = 0; $arr['msg'] = '用户名或密码错误!'; } echo json_encode($arr); //输出json数据 } elseif ($action == 'logout') { //退出 unset($_SESSION); session_destroy(); echo '1'; } |
当前台请求退出时,只需注销session就可以,并返回1给前台JS处理。注意上述代码中get_client_ip()是获取客户端IP的函数,限于篇幅未能列出。
提供一款大家可能用得比较少的把数字转换成汉字的php代码,有需要的朋友可以参考一下。
代码如下 | 复制代码 |
//将数字转换为汉字,比如1210转换为一千二百一十 $num = "842105580";//九位数 function del0($num) //去掉数字段前面的0 { return "".intval($num); } function n2c($x) //单个数字变汉字 { $arr_n = array("零","一","二","三","四","五","六","七","八","九","十"); return $arr_n[$x]; } function num_r($abcd) //读取数值(4位) { $arr= array(); $str = ""; //读取后的汉字数值 $flag = 0; //该位是否为零 $flag_end = 1; //是否以“零”结尾 $size_r = strlen($abcd); for($i=0; $i<$size_r; $i++) { $arr[$i] = $abcd{$i}; } $arrlen = count($arr); for($j=0; $j<$arrlen; $j++) { $ch = n2c($arr[$arrlen-1-$j]); //从后向前转汉字 echo $ch; echo ""; if($ch == "零" && $flag == 0){ //如果是第一个零 $flag = 1; //该位为零 $str = $ch.$str; //加入汉字数值字符串 continue; }elseif($ch == "零"){ //如果不是第一个零了 continue; } $flag = 0; //该位不是零 switch($j) { case 0: $str = $ch; $flag_end = 0; break; //第一位(末尾),没有以“零”结尾 case 1: $str = $ch."十".$str; break; //第二位 case 2: $str = $ch."百".$str; break; //第三位 case 3: $str = $ch."千".$str; break; //第四位 } } if($flag_end == 1) //如果以“零”结尾 { mb_internal_encoding("UTF-8"); $str = mb_substr($str, 0, mb_strlen($str)-1); //把“零”去掉 } return $str; } function num2ch($num) //整体读取转换 { $num_real = del0($num);//去掉前面的“0” $numlen = strlen($num_real); echo "numlen=".$numlen.""; if($numlen >= 9)//如果满九位,读取“亿”位 { $y=substr($num_real, -9, 1); //echo $y; $wsbq = substr($num_real, -8, 4); $gsbq = substr($num_real, -4); $a = num_r(del0($gsbq)); $b = num_r(del0($wsbq))."万"; $c = num_r(del0($y))."亿"; }elseif($numlen <= 8 && $numlen >= 5) //如果大于等于“万” { $wsbq = substr($num_real, 0, $numlen-4); $gsbq = substr($num_real, -4); $a = num_r(del0($gsbq)); $b = num_r(del0($wsbq))."万"; $c=""; }elseif($numlen <= 4) //如果小于等于“千” { $gsbq = substr( $num_real, -$numlen); $a = num_r(del0($gsbq)); $b=""; $c=""; } $ch_num = $c.$b.$a; return $ch_num; } echo $num.""; //数字 echo num2ch($num); //汉字 echo ""; echo num2ch("1240"); |
代码如下 | 复制代码 |
<?php te.php <?php |
相关文章
- 这篇文章主要为大家详细介绍了ASP.NET购物车的实现过程,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-22
- 这篇文章主要介绍了C#开发Windows窗体应用程序的简单操作步骤,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-04-12
- 本文通过例子,讲述了C++调用C#的DLL程序的方法,作出了以下总结,下面就让我们一起来学习吧。...2020-06-25
- 这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
- PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了 经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。...2013-08-02
- 这篇文章主要介绍了微信小程序 页面传值详解的相关资料,需要的朋友可以参考下...2017-03-13
- 本文通过两个示例讲解了一下Process类调用外部应用程序的基本用法,并简单讲解了StartInfo属性,有需要的朋友可以参考一下。...2020-06-25
- 大概有如下步骤 新建项目Bejs 新建文件package.json 新建文件Gruntfile.js 命令行执行grunt任务 一、新建项目Bejs源码放在src下,该目录有两个js文件,selector.js和ajax.js。编译后代码放在dest,这个grunt会...2014-06-07
- 这篇文章主要介绍了微信小程序 二维码生成工具 weapp-qrcode详解,教大家如何在项目中引入weapp-qrcode.js文件,通过实例代码给大家介绍的非常详细,需要的朋友可以参考下...2021-10-23
- 这篇文章主要介绍了uniapp微信小程序:key失效的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-20
- index.php怎么打开?初学者可能不知道如何打开index.php,不会的同学可以参考一下本篇教程 打开编辑:右键->打开方式->经文本方式打开打开运行:首先你要有个支持运行PH...2017-07-06
将c#编写的程序打包成应用程序的实现步骤分享(安装,卸载) 图文
时常会写用c#一些程序,但如何将他们和photoshop一样的大型软件打成一个压缩包,以便于发布....2020-06-25- 本文实例讲述了PHP常用的小程序代码段。分享给大家供大家参考,具体如下:1.计算两个时间的相差几天$startdate=strtotime("2009-12-09");$enddate=strtotime("2009-12-05");上面的php时间日期函数strtotime已经把字符串...2015-11-24
- 这篇文章主要介绍了微信小程序 网络请求(GET请求)详解的相关资料,需要的朋友可以参考下...2016-11-22
- 这篇文章主要为大家详细介绍了微信小程序自定义tabbar组件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-03-14
- 这篇文章主要给大家介绍了关于微信小程序如何获取图片宽度与高度的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-10
PHP中func_get_args(),func_get_arg(),func_num_args()的区别
复制代码 代码如下:<?php function jb51(){ print_r(func_get_args()); echo "<br>"; echo func_get_arg(1); echo "<br>"; echo func_num_args(); } jb51("www","j...2013-10-04- 这篇文章主要为大家详细介绍了JS实现购物车中商品总价的计算 ,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-03-07
- 这篇文章主要介绍了PHP编程 SSO详细介绍及简单实例的相关资料,这里介绍了三种模式跨子域单点登陆、完全跨单点域登陆、站群共享身份认证,需要的朋友可以参考下...2017-01-25
- 这篇文章主要为大家详细介绍了微信小程序实现点击导航条切换页面,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-11-19