php简单 在线投票系统 源码下载,

 更新时间:2016年11月25日 16:05  点击:1629

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
if (isset($_GET['action']) && $_GET['action']=='update')
{
    //update notice data
    //上传文件
    require_once("upload_class.php");
    $f = new Upload( $savepath, $fileFormat, $maxsize, $overwrite);
    if (!$f->run('img'))
    {//下面的img是Form中上传文件的input的名字
        echo $f->errmsg();  //这里只能传递最后一个出错的信息,详细的信息在$f->getInfo()中可以得到。
        print_r($f->returnArray);
    }
    echo "
    <script src="".__FILENAME__."/js/jquery.js" type="text/javascript"></script>
    <script>
    var ptext='';
    ptext="OK";
    //alert($('#img_view').html());
    parent.$('#img_view').html(ptext);
</script>";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="{{$tempurl}}/admin.css" rel="stylesheet" type="text/css" />
<link href="{{$baseurl}}/js/calendar/default/datePicker.css" rel="stylesheet" type="text/css" />
<script src="{{$baseurl}}/js/calendar/WdatePicker.js" type="text/javascript"></script>
<script src="{{$baseurl}}/js/jquery.js" type="text/javascript"></script>
<script src="{{$baseurl}}/js/Forms.js" type="text/javascript"></script>
<script src="{{$baseurl}}/js/FormValid.js" type="text/javascript"></script>
<script type="text/javascript">
      FormValid.succeed = function () {
      $.post("./article.php?action=update",$.getForms("update"),function (msg){
      alert(msg);
      if(msg=="更新公告成功")
      {
        location.href("./article.php");
      }
      //location.href("{{$baseurl}}/index.php");
  });
    return false; 
    }
function file_addupload(type)
{
  //负责增加图片输入框
  var ptext='';
  ptext=$("#"+type+"_more").html()+"<br /><input type='file' name='"+type+"[]' class='input' />";
  $("#"+type+"_more").html(ptext);
}
</script>
<title>发布文章--编辑页面</title>
</head>
<body >
<table width="99%" border="0" cellpadding="0" cellspacing="1" class="install">
  <tr>
    <td colspan="2" class="title">编辑文章内容</td>
  </tr>
  {{section name=article loop=$article}}
  <form action="./article.php?action=update" method="post" name="update" enctype="multipart/form-data" target="upload_iframe">
  <input type="hidden" name="article_id" value="{{$id}}">
  <tr>
    <td class="left">文章标题:</td>
    <td class="right"><input type="text" id="title" name="article_title" value="{{$article[article].title}}" class="input" size="35" valid="required" errmsg="文章标题不能为空" /></td>
  </tr>
  <tr>
    <td class="left">发布IP:</td>
    <td class="right"><input type="text" id="ip" value="{{$article[article].ip}}" name="ip" class="input" readonly /></td>
  </tr>
  <tr>
    <td class="left">作者:</td>
    <td class="right"><input type="text" id="author" name="article_validtime" value="{{$article[article].author}}"  valid="required" errmsg="请输入文章作者"  /></td>
  </tr>
  <tr>
    <td class="left">分类:</td>
    <td class="right"><select name='sort'>
{{html_options options=$sort_options selected=$article[article].sort }}
</select></td>
  </tr>
  <tr>
    <td class="left">来源:</td>
    <td class="right"><input type="text" id="comes" name="comes" value="{{$article[article].comes}}" class="input"/></td>
  </tr>
  <tr>
    <td class="left">是否置顶:</td>
    <td class="right">{{html_radios name='is_top' options=$is_top_radios checked=$article[article].is_top separator=' ' _note='是否置顶&#124;radio&#124;1=>是,0=>否' }}</td>
  </tr>
  <tr>
    <td class="left">内容:</td>
    <td class="right">{{$editor}}</td>
  </tr>
    <tr>
    <td class="left">图片上传:</td>
    <td class="right">
    <span id="img_view">
    <input type="file" name="img[]" class="input" />
      <a href="#" onclick="file_addupload('img')">++</a>
    <span id="img_more"></span>
    </span>
  </tr>
  <tr>
    <td class="left">文件上传:</td>
    <td class="right"><input type="file" name="file[]" class="input" />
      <a href="#" onclick="file_addupload('file')">++</a>
    <span id="file_more"></span>
</td>
  </tr>
  <tr>
    <td colspan="2" class="page" style="text-align:center;"><input type="submit" name="submit" class="button" value="保存" />    <input type="button" name="article_return" value="返回"  class="button" onclick="javascript:location.href('./article.php');" /></td>
  </tr>
  </form>
  {{/section}}
</table>
<iframe name="upload_iframe" style="width: 400px; height: 100px; display: none;">
</iframe>
</body>
</html>

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('<','&lt;',$Str);
  $temp =str_replace('>','&gt;',$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 类的写法//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
%>
[!--infotagslink--]

相关文章

  • C#实现HTTP下载文件的方法

    这篇文章主要介绍了C#实现HTTP下载文件的方法,包括了HTTP通信的创建、本地文件的写入等,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • php实现文件下载实例分享

    举一个案例:复制代码 代码如下:<?phpclass Downfile { function downserver($file_name){$file_path = "./img/".$file_name;//转码,文件名转为gb2312解决中文乱码$file_name = iconv("utf-8","gb2312",$file_name...2014-06-07
  • Visual Studio 2015下载和安装图文教程

    这篇文章主要为大家详细介绍了Visual Studio 2015下载和安装图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-22
  • 基于JavaScript代码实现微信扫一扫下载APP

    有很多人在做微信的扫一扫下载。但是在微信更新之后微信将该功能给禁止掉了,也不能说是全面禁止吧,因为腾讯、微信是一家嘛,通过应用宝审核的应用好像还是可以通过扫一扫直接下载的,下面通过本篇文章给大家介绍微信扫一扫下载app的代码片段,感兴趣的朋友一起看看吧...2016-01-02
  • Javascript前端下载后台传来的文件流代码实例

    这篇文章主要介绍了Javascript前端下载后台传来的文件流代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-08-19
  • 在PHP中使用X-SendFile头让文件下载更快

    一般来说, 我们可以通过直接让URL指向一个位于Document Root下面的文件, 来引导用户下载文件.但是, 这样做, 就没办法做一些统计, 权限检查, 等等的工作. 于是, 很多时候, 我们采用让PHP来做转发, 为用户提供文件下载...2014-06-07
  • C#开发教程之FTP上传下载功能详解

    这篇文章主要为大家详细介绍了C#开发教程之FTP上传下载功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
  • python3.8下载及安装步骤详解

    这篇文章主要介绍了python3.8下载及安装步骤详解,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...2020-04-27
  • 【详解】Android远程http下载和动态注册第三方so lib库教程

    本教程我们为您介绍Android的第三方库so lib库如何远程http下载和动态注册,远程下载so库主要解决的是下载so存放的位置及读写权限,大家可以参考一下。 一、背景...2016-09-20
  • springboot+vue实现文件上传下载

    这篇文章主要为大家详细介绍了springboot+vue实现文件上传下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-11-18
  • PHP 下载文件时自动添加bom头的方法

    bom头其实是一个非常可恶的东西,有时因为bom头导致页面乱码之类的问题,但有的时间加bom头是必须的,下面我们来看一个PHP 下载文件时自动添加bom头的方法,希望文章对大家有...2016-11-25
  • Spring Boot使用GridFS实现文件的上传和下载方式

    这篇文章主要介绍了Spring Boot使用GridFS实现文件的上传和下载方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-10-23
  • php 超大文件下载程序[http 缓存协商,Etag标记,断点续传]

    <?php教程 002 $file_path = './download/download_cn.rar'; 003 004 //使用方法 005 downFile($file_path); 006 007 // 服务器文件路径,下载文件名字(默认...2016-11-25
  • JavaScript实现图片合成下载的示例

    这篇文章主要介绍了JavaScript实现图片合成下载的示例,帮助大家更好的理解和学习JavaScript,感兴趣的朋友可以了解下...2020-11-19
  • 帝国CMS下载不采用弹出窗口式说明

    6、下载不采用弹出窗口式说明 ...2016-05-19
  • vbs脚本病毒生成器 下载

    Vbs脚本病毒生成器 V1.0 版  简 介: 国产的新编的vbs脚本病毒生成器1.0版, 本程序通过采集用户的各项输入、选择,产生符合需要的vbs脚本病毒,属于傻瓜式的vbs病毒制造程...2020-06-30
  • 如何使用python socket模块实现简单的文件下载

    这篇文章主要介绍了如何使用python socket模块实现简单的文件下载,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下...2020-09-04
  • 仿dedecms顶评[顶,踩]功能源码下载

    仿dedecms顶评[顶,踩]功能源码下载 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head>...2016-11-25
  • MySQL 5.6 (Win7 64位)下载、安装与配置图文教程

    这篇文章主要介绍了MySQL 5.6 (Win7 64位)下载、安装与配置图文教程的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2016-08-23
  • C#实现文件上传与下载功能实例

    本篇文章主要介绍了C#实现文件上传与下载,这里整理了详细的代码,有需要的小伙伴可以参考下。...2020-06-25