这篇文章主要为大家详细介绍了PHP许愿墙模块的简单示例,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随四海网的小玲来看看吧!
许愿墙模块功能分析代码如下:
echo "
<DIV class='".$pagecolor."'style='left:".$L."px;top:".$T."px;z-index:".$Z."' id='".$id."' onm ousedown='Move(this,event)' ondblclick=Show(".$id.",'shadeDiv')>
<TABLE cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR>
<TD>
<DIV class=shead>
<span class='Num' >爱墙编号:".$id." ".$sendtime." <a onclick='myClose(".$id.")'>×</span>
</DIV>
</TD>
</TR>
<TR>
<TD>
<DIV class=sbody><img src='".$face."' id='IconImg' style='float:left'>
<span id='PickerSample'>".$Picker."</span><br> <span id='ContentSample'>$content</span>
</DIV>
<DIV class=sbody >
<H2><span id='authorSample'>".$author."</span></H2>
</DIV>
<DIV class=sbot align='right'>
<br><a href='#' onclick='holdout(".$id.",".$hits.")''>[祝福你]</a> 福气:<span id='fq_id".$id."'>".$hits."</span> <span id='QQSample'>QQ:<a href='http://wpa.qq.com/msgrd?uin=".$QQ."&Site=1&Menu=yes' title='单击与他/她交谈' target='_blank'>".$QQ."</a></span>
</DIV>
</TD>
</TR>
</TBODY>
</TABLE>
</DIV>";
代码如下:
var Layer='';
document.onmouseup=moveEnd;
document.onmousemove=moveStart;
var b;
var c;
function Move(Object,event){ //移动DIV许愿字条
Layer=Object.id;
if(document.all){
document.getElementById(Layer).setCapture();
b=event.x-document.getElementById(Layer).style.pixelLeft; //设置左边框
c=event.y-document.getElementById(Layer).style.pixelTop; //设置右边框
}else if(window.captureEvents){
window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
b=event.layerX; //返回时间对象相对于本体的横坐标
c=event.layerY; //返回时间对象相对于本体的纵坐标
}
/**实现鼠标单击字条时,字条置上**/
document.getElementById(Layer).style.zIndex=iLayerMaxNum;
iLayerMaxNum=iLayerMaxNum+1;
/********************************/
}
代码如下:
if(document.all){
alert("is IE!");
}
代码如下:
<html>
<head>
<title>Using window.captureEvents</title>
<script language="JavaScript1.2">
<!--
var counter = 0;
window.captureEvents(Event.CLICK)
window.onclick = myClickHandler;
function myClickHandler(){
window.document.myForm.myText.handleEvent;
}
function changeText(){
document.myForm.myText.value = counter++;
}
-->
</script>
</head>
<body>
<form name="myForm">
<input type=TEXT size=2 value="" name="myText" onClick='changeText()'>
</form>
</body>
</html>
代码如下:
function moveStart(d){
if(Layer!=''){ //如果图层不为空
if(document.all){
document.getElementById(Layer).style.left=event.x-b; //设置左边距
document.getElementById(Layer).style.top=event.y-c; //设置右边距
}else if(window.captureEvents){
document.getElementById(Layer).style.left=(d.clientX-b)+"px";
document.getElementById(Layer).style.top=(d.clientY-c)+"px";
}
}
}
代码如下:
function moveEnd(d){
if(Layer!=''){ //如果layer图层不为空
if(document.all){
document.getElementById(Layer).releaseCapture();
Layer=''; //将layer图层设为空
}else if(window.captureEvents){
window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
Layer=''; //将layer图层设为空
}
}
}
代码如下:
<input name="QQ" type="text" id="QQ"
<SPAN style="WHITE-SPACE: pre"> </SPAN>onKeyUp="setQQ();if(/(^0+)/.test(value))value=value.replace(/^0*/, '')"
<SPAN style="WHITE-SPACE: pre"> </SPAN>onKeyDown="setQQ();" //键盘按下时触发,比如按着1不放时,该函数生效
<SPAN style="WHITE-SPACE: pre"> </SPAN>onKeyPress="return event.keyCode>=48 && event.keyCode<=57;" size="16" maxlength="10"
<SPAN style="WHITE-SPACE: pre"> </SPAN>onpaste="var s=clipboardData.getData('text'); if(!/\D/.test(s))value=s.replace(/^0*/,'');
<SPAN style="WHITE-SPACE: pre"> </SPAN>return false;"
/>
代码如下:
function checkForm(){ //祝福内容
if(isNaN(document.getElementById('QQ').value)){
alert('您输入的QQ号不是数值型,请重新输入!');
document.getElementById('QQ').focus();
return false;
}
}
代码如下:
<input type="text" onkeyup="value=value.replace(/[^a-zA-Z]/g,'')"/>
代码如下:
<input type="text" onkeyup="value=value.replace(/[^0-9a-zA-Z]/g,'')"/>
<input type="text" onkeyup="value=value.replace(/[\W]/g,'')"/> \W匹配字母或数字或下划线或汉字,\D表示匹配数字
代码如下:
<input type="text" onKeyUp="value=value.replace(/[^\d|x]/g,'')" /> |后面的就是可以排除的非数字,可是一个范围x-z
代码如下:
<input type="text" onKeyUp="value=value.replace(/[^\d]/g,'')" /> \D表示匹配数字,中文输入法输入时,存在后续表格不能输入中文问题
<input type="text" onKeypress="if(event.keyCode < 45 || event.keyCode >57) event.returnValue = false;"> 不能输入字母,但能输入/.-等
<INPUT TYPE="text" onkeyup="this.value=this.value.replace(/[^\d]/g,'')" onpaste="return false"> 不能输入数字,不允许粘贴
<input name=txt1 onchange="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}">
<input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value)) execCommand('undo')"> 但可以输入空格,解决中文输入法问题
代码如下:
<input onkeyup="value=value.replace(/[\d]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\d]/g,''))">
代码如下:
<input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false">
代码如下:
<INPUT style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" readOnly maxLength=3 size=3 value=150 name=freeLength>
代码如下:
<textarea name="content" id="content" cols="66" rows="6"
onkeydown="textCounter(this.form.content,this.form.freeLength,150)"
onkeyup="textCounter(this.form.content,this.form.freeLength,150)"
onafterpaste="textCounter(this.form.content,this.form.freeLength,150)">
</textarea>
代码如下:
function textCounter(field, countfield, maxlimit) { //祝福内容限制在120个字符内
var StrValue = field.value;
var ByteCount = 0;
var StrLength = field.value.length;
for (i=0;i<StrLength;i++){ //记算祝福文字个数,英文数字占1个字符,汉字占2个字
ByteCount = (StrValue.charCodeAt(i)<=256) ? ByteCount + 1 : ByteCount + 2;
}
if(ByteCount<=maxlimit){
strtemp=StrValue;
document.getElementById('ContentSample').innerHTML = StrValue;
countfield.value = maxlimit - ByteCount;
}else{
document.getElementById('content').innerHTML = strtemp;
}
}
代码如下:
function textCounter(field, countfield, maxlimit) { //祝福内容限制在150个字符内
var StrValue = field.value;
var ByteCount = 0;
var StrLength = field.value.length;
var cutstr = '';
for (i=0;i<StrLength;i++){
ByteCount = (StrValue.charCodeAt(i)<=256) ? ByteCount + 1 : ByteCount + 2; //记算祝福文字个数,英文数字占1个字符,汉字占2个字
if( ByteCount<=maxlimit){
cutstr = StrValue.substring(0,i+1); //如果输入字符小于限制长度,截取当前输入字符i+1为输入字符个数
strtemp = cutstr;
} else {
cutstr=strtemp; //否则截取最大输入字符长度
}
}
if(ByteCount<=maxlimit){
document.getElementById('ContentSample').innerHTML = cutstr; //输出显示内容
countfield.value = maxlimit - ByteCount;
}else{
document.getElementById('content').value = cutstr; //限制输入框显示内容
document.getElementById('ContentSample').innerHTML = cutstr; //输出显示内容
countfield.value =0; //剩余字节数
}
}
代码如下:
function codecheck(){
var getVcode = document.getElementById('checkcode').value; //获取验证码输入框的内容
xmlhttp.open("get","codeChk.php?code="+getVcode,true); //将验证码发送到codeChk.php页面检验验证码是否正确
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4)
{
if(xmlhttp.status==200)
{
var msg=xmlhttp.responseText;
if(msg==1){
document.getElementById("messageImg").src="images/dui.gif"; //验证码正确,输出显示正确图片
document.getElementById('txt_hyan').value = getVcode;
}else{
document.getElementById("messageImg").src="images/cuo.gif"; //验证码错误,输出显示错误图片
document.getElementById('checkcode').focus();
return false;
}
}
}
}
xmlhttp.send(null);
}
代码如下:
<?php
/* 四海网 www.q1010.com */
session_start();
require 'secoder.class.php'; //先把类包含进来,实际路径根据实际情况进行修改。
$vcode = new YL_Security_Secoder(); //实例化一个对象
$code = $_GET['code'];
echo $vcode->check($code); //check($code)函数返回的是true或者false,返回true时,codeChk.php页面输出的是1,否则没有输出
?>
代码如下:
public static function check($code) {
isset($_SESSION) || session_start();
// 验证码不能为空
if(empty($code) || empty($_SESSION[self::$seKey])) {
return false;
}
// session 过期
if(time() - $_SESSION[self::$seKey]['time'] > self::$expire) {
unset($_SESSION[self::$seKey]);
return false;
}
if(strtoupper($code) == $_SESSION[self::$seKey]['code']) { //不区分大小写比较
return true;
}
return false;
}
代码如下:
$T=rand(320,520);
$L=rand(5,790);
$Z=$page_count;
$Z = $Z - 3;
echo "
<DIV class='".$pagecolor."'style='left:".$L."px;top:".$T."px;z-index:".$Z.";' id='".$id."' onm ousedown='Move(this,event)' ondblclick=Show(".$id.",'shadeDiv')>
<TABLE cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR>
<TD>
<DIV class=shead>
<span class='Num' >爱墙编号:".$id." ".$sendtime." <a onclick='myClose(".$id.")'>×</span>
</DIV>
</TD>
</TR>
<TR>
<TD>
<DIV class=sbody><img src='".$face."' id='IconImg' style='float:left'>
<span id='PickerSample'>".$Picker."</span><br> <span id='ContentSample'>$content</span>
</DIV>
<DIV class=sbody >
<H2><span id='authorSample'>".$author."</span></H2>
</DIV>
<DIV class=sbot align='right'>
<br><a href='#' onclick='holdout(".$id.",".$hits.")''>[祝福你]</a> 福气:<span id='fq_id".$id."'>".$hits."</span> <span id='QQSample'>QQ:<a href='http://wpa.qq.com/msgrd?uin=".$QQ."&Site=1&Menu=yes' title='单击与他/她交谈' target='_blank'>".$QQ."</a></span>
</DIV>
</TD>
</TR>
</TBODY>
</TABLE>
</DIV>";
代码如下:
$ip=getenv('REMOTE_ADDR'); //获取客户端IP地址
/********解释IP区域***********/
$cip=cip($ip);
$csql="select * from tb_ip where (ip1<'".$cip."' and ip2>'".$cip."') or (ip1=ip2 and ip2='".$cip."')";
//执行查询
$res = $DB->fetch_one_array($csql);
$cip1=$res['country'];
if($cip1==""){
$cip1="IP不详";
}
代码如下:
function Hide(){
document.getElementById("shadeDiv").style.display = "none";
iLayerMaxNum = iLayerMaxNum+2;
}
代码如下:
function Show(n,divName){
document.getElementById(n).style.zIndex = iLayerMaxNum+1;
document.getElementById(divName).style.display = "block";
document.getElementById(divName).style.zIndex = iLayerMaxNum;
var size = getPageSize(); //设置隐藏区域的面积,这里是获取许愿墙显示区域的面积,即本例中设置滤镜的面积
document.getElementById(divName).style.width = size[0]+"px";
document.getElementById(divName).style.height = size[1]+"px";
}
代码如下:
function getPageSize(){
var w =document.body.clientWidth;
var h= document.body.clientHeight;
arrayPageSize = new Array(w,h);
return arrayPageSize;
}
代码如下:
<!----------------------------应用3D饼形图按地域统计分析”全部“许愿的比率---------------------------->
<div align="center">
<IFRAME frameBorder=0 id=top name=top scrolling=no src="statistic_all.php" style="HEIGHT:290px;VISIBILITY:inherit;WIDTH:1004px;Z-INDEX:3">
</IFRAME>
</div>
<!----------------------------应用3D饼形图按地域统计分析”亲情类“许愿的比率---------------------------->
<div align="center">
<IFRAME frameBorder=0 id=top name=top scrolling=no src="statistic_relative.php" style="VISIBILITY:inherit;WIDTH:330px;height:260px;Z-INDEX:3">
</IFRAME>
</div>
<!----------------------------应用3D饼形图按地域统计分析”爱情类“许愿的比率---------------------------->
<div align="center">
<IFRAME frameBorder=0 id=top name=top scrolling=no src="statistic_love.php" style="HEIGHT:90px;VISIBILITY:inherit;WIDTH:330px;height:260px;Z-INDEX: 3">
</IFRAME>
</div>
<!----------------------------应用3D饼形图按地域统计分析”友情类“许愿的比率---------------------------->
<div align="center">
<IFRAME frameBorder=0 id=top name=top scrolling=no src="statistic_friend.php" style="VISIBILITY:inherit;WIDTH:330px;height:260px;Z-INDEX:3">
</IFRAME>
</div>
<!----------------------------应用3D饼形图按地域统计分析”自己类“许愿的比率---------------------------->
<div align="center">
<IFRAME frameBorder=0 id=top name=top scrolling=no src="statistic_self.php" style="VISIBILITY:inherit;WIDTH:330px;height:260px;Z-INDEX:3">
</IFRAME>
</div>
<!----------------------------应用3D饼形图按地域统计分析”奥运会类“许愿的比率---------------------------->
<div align="center">
<IFRAME frameBorder=0 id=top name=top scrolling=no src="statistic_olympic.php" style="VISIBILITY:inherit;WIDTH:330px;height:260px;Z-INDEX:3">
</IFRAME>
</div>
<!----------------------------应用3D饼形图按地域统计分析”汶川类“许愿的比率---------------------------->
<div align="center">
<IFRAME frameBorder=0 id=top name=top scrolling=no src="statistic_wch.php" style="VISIBILITY:inherit;WIDTH:330px;height:260px;Z-INDEX:3">
</IFRAME>
</div>
代码如下:
<?php
/* 四海网 www.q1010.com */
include("global.php"); //链接数据库源文件
include("jpgraph/jpgraph.php"); //引用图表分析类文件
?>
代码如下:
<?php
/* 四海网 www.q1010.com */
include("jpgraph/jpgraph_pie.php"); //引用饼形图类文件
include_once("jpgraph/jpgraph_pie3d.php"); //引用3D饼图PiePlot3D对象所在的类文件
?>
代码如下:
<?php
/* 四海网 www.q1010.com */
$graph = new PieGraph(990,276); //创建画布
$graph->SetShadow(); //设置阴影
$graph->title->Set("应用3D饼形图统计分析全部区域许愿比率"); //设置标题名称
$graph->title->SetFont(FF_SIMSUN,FS_BOLD); //设置标题的字体加粗
$graph->legend->SetFont(FF_SIMSUN,FS_NORMAL); //设置饼形图文字的字体
$size=0.5; //设置饼形图的半径
/***********************统计全部许愿比率*************************/
//创建饼形图对象
$p0= new PiePlot3D($arraynum0); //创建饼形图对象
$p0->SetLegends($arraycip0);
$p0->SetSize($size); //设置饼形图的大小
$p0->SetCenter(0.45,0.48); //设置饼形图的坐标位置
$p0->SetLegends($arraycip0); //设置城市名称
$p0->value->SetFont(FF_FONT0); //设置字体
$p0->title->SetFont(FF_SIMSUN,FS_BOLD); //设置标题字体加粗
/*************************************************************/
$graph->Add($p0); //添加3D饼形图到图像中
$graph->Stroke(); //输出图像
?>
代码如下:
<?php
/* 四海网 www.q1010.com */
include("global.php"); //链接数据库文件
include ("jpgraph/jpgraph.php"); //引用图表分析类文件
include ("jpgraph/jpgraph_pie.php"); //引用饼形图类文件
include_once ("jpgraph/jpgraph_pie3d.php"); //引用3D饼图PiePlot3D对象所在的类文件
/***********************统计亲情类别*************************/
$sql2="select distinct(count(cip)) as num,cip from tb_wishes where wishsort='亲情' group by cip ";
$DB->query($sql2); //动态统计亲情类许愿
$res2=$DB->get_rows_array($sql2); //生成二维数组
$rows_count2=count($res2); //统计二维数组的数量
$arraynum2=array(); //声明城市”亲情类“许愿总数数组
$arraycip2=array(); //声明”亲情类“城市名称数组
//解析数组
for($k=0;$k<$rows_count2;$k++){
array_push($arraynum2,$res2[$k][num]); //输出城市的许愿数量
array_push($arraycip2,$res2[$k][cip]); //输出城市名称
}
/*************************************************************/
//创建画布
$graph = new PieGraph(320,246); //创建画布
$graph->SetShadow(); //设置阴影
$graph->title->Set("统计分析全部区域的[ 亲情类 ] 许愿比率"); //设置标题名称
$graph->title->SetFont(FF_SIMSUN,FS_BOLD); //设置标题的字体加粗
$graph->legend->SetFont(FF_SIMSUN,FS_NORMAL); //设置饼形图文字的字体
$size=0.3; //设置饼形图的半径
/***********************统计亲情许愿比率*************************/
$p= new PiePlot3D($arraynum2); //创建饼形图对象
$p->SetLegends($arraycip2); //设置城市名称
$p->SetSize($size); //设置饼形图的大小
$p->SetCenter(0.45,0.55); //设置饼形图的坐标位置
$p->value->SetFont(FF_FONT0); //设置字体
$p->title->SetFont(FF_SIMSUN,FS_BOLD); //设置标题字体加粗
/*************************************************************/
$graph->Add($p); //添加3D饼形图到图像中
$graph->Stroke(); //输出图像
?>
代码如下:
<table width="1004" height="25" border="0" cellpadding="0" cellspacing="0">
<form name="form" method="get" action="">
<tr>
<td align="center" bgcolor="#339933">请输入查询条件:
<input type="text" name="content1" size="30" class="inputs">
<select name="select">
<option value="奥运会">奥运会</option>
<option value="汶川">汶川</option>
<option value="爱情">爱情</option>
<option value="亲情">亲情</option>
<option value="友情">友情</option>
<option value="自己">自己</option>
<option value="全部" selected="selected">全部</option>
</select>
<input type="submit" name="submit" value="检索许愿" class="btn_search">
(支持多条件查询,如:爱墙号、许愿人、许愿内容等)
</td>
</tr>
</form>
</table>
本文来自:http://www.q1010.com/173/15161-0.html
注:关于PHP许愿墙模块的简单示例的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。
关键词:
四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。