php 广告点击统计代码
php 广告点击统计代码,昨天晚上有几个IDC网想与本站合作放些广告,但是我想看看广告效果后想了就写了一个简单的广告统计代码了,这里只是等的统计不能IP限制或是恶心点击等等了.
先来创建数据库.
CREATE TABLE IF NOT EXISTS `ad_count` (
`ad_id` int(8) NOT NULL auto_increment,
`ad_hit` int(8) NOT NULL default '0',
`ad_name` varchar(200) character set gb2312 default NULL,
`ad_datetime` datetime default NULL,
`ad_qq` varchar(15) character set gb2312 default NULL,
`ad_url` varchar(900) character set gb2312 NOT NULL,
`ad_price` int(8) NOT NULL,
PRIMARY KEY (`ad_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
数据创建好了我们就开始写程序了.数据连接我不不写了,
<?php
require_once("......省了");
$ad_id =get_value('ad_id','');这里下面有讲
if(is_numeric( $ad_id ) ){
$ad_select="select ad_id,ad_url from ad_count where ad_id='$ad_id' limit 1";
$ad_update="Update ad_count set ad_hit=ad_hit+1 where ad_id='$ad_id' limit 1";
$ad_result=mysql_query($ad_select) or die('id error');
if( mysql_num_rows( $ad_result) ){
mysql_query($ad_update);
$ad_rs=mysql_fetch_array($ad_result);
header("location:".$ad_rs['ad_url']);
mysql_free_result($ad_rs);
}
}
function htmltohtml($Str){
$temp =str_replace(chr(13),'<br/>',$Str);
$temp =str_replace('<','<',$Str);
$temp =str_replace('>','>',$Str);
$temp =addslashes($Str);
return $temp;
}
function get_value($value,$para){
return htmltohtml(empty($para)?(isset($_GET[$value])?$_GET[$value]:''):(isset($_POST[$value])?$_POST[$value]:''));
}
然后我们再在要显示广告的地方如下写.
'<a href=/cp/ad_count.php?ad_id=2 target=_blank><img src=/ad_a/ad2.gif border=0 /></a>
就完了了,本站原创,转载请注明来原: www.111cn.net
?>
php简单 在线投票系统 源码下载,上次要和你一家公合作他们说要我写一个简单的投票系统,但是每一个IP只能投一次,好了下面就是我写的一个最最简单的投票系统了,是用php实现的.
先来创建数据库.有两个一个记录投票次数与相关信息一个是记录IP.
CREATE TABLE IF NOT EXISTS `lj_vote` (
`id` int(8) NOT NULL auto_increment,
`v_type` int(4) default '1',
`v_caption` varchar(500) default NULL COMMENT '此处可以放图片地址也可以是文章说明',
`v_hits` int(8) NOT NULL default '0' COMMENT '投票次数',
`v_ip` text COMMENT '投票IP为唯一,永远只有一次机会',
`v_name` varchar(50) default NULL COMMENT '作品的作者',
`v_id` int(4) default NULL COMMENT '唯一编号',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312 AUTO_INCREMENT=21 ;
记录IP的数据库.
CREATE TABLE IF NOT EXISTS `lj_ip` (
`id` int(8) NOT NULL auto_increment,
`v_ip` varchar(50) default NULL,
`v_time` datetime default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312 AUTO_INCREMENT=4 ;
嗯.好了数据都准备好了我们就来看php 是怎么实现投票的吧.
<?php
$value =$_SERVER['HTTP_HOST'];
$vote1 =isset($_POST['a'])?$_POST['a']:'';
$vote2 =isset($_POST['b'])?$_POST['b']:'';
$ip =get_real_ip();
if( empty($vote1) || empty($vote2) ){
exit("<script>alert('你还有未选择项目');history.back();</script>");
}else{
$re =mysql_query("select v_ip from lj_ip where v_ip='$ip'") or die('error');
if( mysql_num_rows($re) ){
exit("对不起,你己经投票了,<a href=# onclick=\"history.back();\">点击返回</a>");
}else{
mysql_query("update lj_vote set v_hits=v_hits+1 where v_name='$vote1'") or die('a');
mysql_query("update lj_vote set v_hits=v_hits+1 where v_name='$vote2'") or die('b');
mysql_query("insert into lj_ip(v_ip,v_time) value('$ip','".date("Y-m-d h:i:s")."')") or die('ip');
exit("<script>alert('恭喜你,己成功投票');history.back();</script>");
}
}
function show_hits($value){
$result =mysql_query("select * from lj_vote where v_name='$value'") or die('error');
return @mysql_num_rows($result);
}
function get_real_ip(){
$ip=false;
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$ip = $_SERVER["HTTP_CLIENT_IP"];
}
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
for ($i = 0; $i < count($ips); $i++) {
if (!eregi ("^(10|172\.16|192\.168)\.", $ips[$i])) {
$ip= $ips[$i];
break;
}
}
}
return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}
好了就OK了,投票系统不完成了,投票的htm页面我就没写了自己写一下吧.
?>
申明:本站原创转载请注明: www.111cn.net
php 类的写法//Db.class.php
class Db {
private $_dblink;
public $result;
public function __construct($host, $user, $password, $dbname, $charset = 'utf8') {
try{
if($this->_dblink = mysql_connect($host, $user, $password)) {
if(mysql_select_db($dbname)) {
$this->query("SET NAMES " . $charset . " ;");
} else {
throw new Exception(mysql_error());
}
} else {
throw new Exception(mysql_error());
}
} catch (Exception $e) {
die($e->getMessage());
}
}
public function query($sql) {
return $this->result = mysql_query($sql);
}
public function fetch() {
return mysql_fetch_array($this->result);
}
public function fetchAll() {
$rs = array();
$rsAll = array();
while($rs = mysql_fetch_array($this->result)) {
$rsAll[] = $rs;
}
return $rsAll;
}
public function __destruct() {
mysql_close($this->_dblink);
}
}
复制PHP内容到剪贴板PHP代码:
//test.php
$db = new Db('localhost', 'root', '', 'hent_qxoa');
$db->query("SELECT * FROM qx_user ;");
var_dump($db->fetchAll());
<%
dim email
email=request.form("email")
if IsValidEmail(email) then
if request("action")="退订" then
response.redirect "del_email.asp?email="&email
else
response.redirect "add_email.asp?email="&email
end if
else
'response.write "无效的电子邮件格式,请按“后退”按钮,重填一个有效的Email"
response.write"<SCRIPT language=JavaScript>alert('无效的电子邮件格式,请重填一个有效的Email!');"
response.write"javascript:history.go(-1)</SCRIPT>"
end if
function IsValidEmail(email)
dim names, name, i, c
'Check for valid syntax in an email address.
IsValidEmail = true
names = Split(email, "@")
if UBound(names) <> 1 then
IsValidEmail = false
exit function
end if
for each name in names
if Len(name) <= 0 then
IsValidEmail = false
exit function
end if
for i = 1 to Len(name)
c = Lcase(Mid(name, i, 1))
if InStr("abcdefghijklmnopqrstuvwxyz_-.", c) <= 0 and not IsNumeric(c) then
IsValidEmail = false
exit function
end if
next
if Left(name, 1) = "." or Right(name, 1) = "." then
IsValidEmail = false
exit function
end if
next
if InStr(names(1), ".") <= 0 then
IsValidEmail = false
exit function
end if
i = Len(names(1)) - InStrRev(names(1), ".")
if i <> 2 and i <> 3 then
IsValidEmail = false
exit function
end if
if InStr(email, "..") > 0 then
IsValidEmail = false
end if
end function
%>
模板 template.html :
复制PHP内容到剪贴板
PHP代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><%{title}%></title>
</head>
<body>
<%{content}%>
</body>
</html>
生成 generator.php :
复制PHP内容到剪贴板
PHP代码:
<?php
/*
** html静态页面生成模块
*/
$title = "cShare.ORG首页";
$content = "红绿蓝(cShare.ORG),开源软件及自由软件社区.专注于开源软件及自由软件领域,竭力推进中国开源软件及自由软件发展.为软件开发者提供开发平台,为用户带来优秀软件...";
$template = file_get_contents("template.html"); //读取模板
$template = str_replace("<%{title}%>", $title, $template); //替换标记
$template = str_replace("<%{content}%>", $content, $template);
while(!file_exists("number.txt")) { //如不存在编号文件,则创建一个并写入初始编号0
file_put_contents("number.txt",0);
}
$html_number = file_get_contents("number.txt");
$html_number++;
file_put_contents("number.txt",$html_number);
$html_name = "{$html_number}.html";
file_put_contents($html_name, $template); //生成静态页面
?>
相关文章
- 下面小编就为大家带来一篇利用JS实现点击按钮后图片自动切换的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-10-25
- 有一种方法,可以不打开网站而直接查看到这个网站的源代码.. 这样可以有效地防止误入恶意网站... 在浏览器地址栏输入: view-source:http://...2016-09-20
- <?php require('path.inc.php'); header('content-Type: text/html; charset=utf-8'); $borough_id = intval($_GET['id']); if(!$borough_id){ echo ' ...2016-11-25
- 本文实例讲述了JS基于Mootools实现的个性菜单效果代码。分享给大家供大家参考,具体如下:这里演示基于Mootools做的带动画的垂直型菜单,是一个初学者写的,用来学习Mootools的使用有帮助,下载时请注意要将外部引用的mootools...2015-10-23
- 本文实例讲述了JS+CSS实现分类动态选择及移动功能效果代码。分享给大家供大家参考,具体如下:这是一个类似选项卡功能的选择插件,与普通的TAb区别是加入了动画效果,多用于商品类网站,用作商品分类功能,不过其它网站也可以用,...2015-10-21
- 本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学...2015-11-08
- php 取除连续空格与换行代码,这些我们都用到str_replace与正则函数 第一种: $content=str_replace("n","",$content); echo $content; 第二种: $content=preg_replac...2016-11-25
- php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p> </p> <p> </p> <form name="form1...2016-11-25
- 公司一些wordpress网站由于下载的插件存在恶意代码,导致整个服务器所有网站PHP文件都存在恶意代码,就写了个简单的脚本清除。恶意代码示例...2015-10-23
- 本文实例讲述了JS实现双击屏幕滚动效果代码。分享给大家供大家参考,具体如下:这里演示双击滚屏效果代码的实现方法,不知道有觉得有用处的没,现在网上还有很多还在用这个特效的呢,代码分享给大家吧。运行效果截图如下:在线演...2015-10-30
- 其实挺简单的就是if(navigator.userAgent.indexOf('UCBrowser') > -1) {alert("uc浏览器");}else{//不是uc浏览器执行的操作}如果想测试某个浏览器的特征可以通过如下方法获取JS获取浏览器信息 浏览器代码名称:navigator...2015-11-08
- 一、日期减去天数等于第二个日期function cc(dd,dadd){//可以加上错误处理var a = new Date(dd)a = a.valueOf()a = a - dadd * 24 * 60 * 60 * 1000a = new Date(a)alert(a.getFullYear() + "年" + (a.getMonth() +...2015-11-08
- 本文实例讲述了JS实现网页游戏中滑块响应鼠标点击移动效果。分享给大家供大家参考,具体如下:这是网页游戏中的一个有趣效果,可以完成以下几个动作:滚动、scroll 8个方向、鼠标坐标获娶对象上下左右位置获取,大家可以自己添...2015-10-21
- 微信支付,即便交了保证金,你还是处理测试阶段,不能正式发布。必须到你通过程序测试提交订单、发货通知等数据到微信的系统中,才能申请发布。然后,因为在微信中是通过JS方式调用API,必须在微信后台设置支付授权目录,而且要到...2014-05-31
- 本文实例讲述了PHP常用的小程序代码段。分享给大家供大家参考,具体如下:1.计算两个时间的相差几天$startdate=strtotime("2009-12-09");$enddate=strtotime("2009-12-05");上面的php时间日期函数strtotime已经把字符串...2015-11-24
- 本文介绍了如何延迟javascript代码的加载,加快网页的访问速度。 当一个网站有很多js代码要加载,js代码放置的位置在一定程度上将会影像网页的加载速度,为了让我们的网页加载速度更快,本文总结了一下几个注意点...2013-10-13
- 小编分享了一段简单的php中文转拼音的实现代码,代码简单易懂,适合初学php的同学参考学习。 代码如下 复制代码 <?phpfunction Pinyin($_String...2017-07-06
php导出csv格式数据并将数字转换成文本的思路以及代码分享
php导出csv格式数据实现:先定义一个字符串 存储内容,例如 $exportdata = '规则111,规则222,审222,规222,服2222,规则1,规则2,规则3,匹配字符,设置时间,有效期'."/n";然后对需要保存csv的数组进行foreach循环,例如复制代...2014-06-07- ecshop商品无限级分类代码 function cat_options($spec_cat_id, $arr) { static $cat_options = array(); if (isset($cat_options[$spec_cat_id]))...2016-11-25
- 这篇文章主要介绍了vue项目,代码提交至码云,iconfont的用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-30