快捷搜索:

MySQL实现的简单投票系统实例,PHP实现简单的新闻发布系统实例

2019-11-17 16:03栏目:计算机网络
TAG:

您可能感兴趣的文章:

  • php投票系统之增加与删除投票(管理员篇)
  • PHP+MySQL实现的简单投票系统实例
  • PHP+MySQL投票系统的设计和实现分享
  • PHP+MYSQL的文章管理系统(一)
  • PHP+MYSQL的文章管理系统(二)
  • PHP+MYSQL会员系统的开发实例教程
  • 简单的php新闻发布系统教程
  • 10款PHP开源商城系统汇总介绍
  • PHP实现简单的新闻发布系统实例
  • php redis实现文章发布系统(用户投票系统)

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

articleDelete.php:

采用php+redis,简易的实现文章发布系统,用户投票,文章分组,分页排序。

近期,我做了一个娱乐门户的投票系统,也是被刷票搞的焦头烂额,一切可用的方法都用了。但都不是太理想,最终,琢磨出来了下面的方法,我做成了流程图与大家分享。
看不懂流程的也不要钻牛角了,本人也不做太多无聊的解释,当然,这个流程只是一个大体的过程,中间还有很多的判断,主要运用的还是session。因为什么验证码什么的,那你别用在互联网投票系统中来吧,没有人去验证,一看就烦了。还是那句话,我的WEB开发笔记中写的全是一些简单的思想性的东西,如果想完善,可以自己扩展。本人没有时间解释。
以下的流程图中,一定要注意session的注销,也就是一个session用完之后,一定要记得注销,否则依然会被刷票机绕过。
澳门金莎娱乐 1

<?php
mysql_connect("localhost","root","");
mysql_select_db("vote");
mysql_query("set names utf8");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
 <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
<title>Insert title here</title>
</head>
<body bgcolor="#ccc">
 <form name="article" method="post" action="articlePublishDo.php" style="margin:5px 500px;">
   <h1>发布新闻系统</h1>
  标题:<input type="text" name="title"/><br/>
  内容:<textarea cols=30 rows=5 name="content"></textarea><br/><br/>
   <input type="submit" value="发布新闻"/>
 </form>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

链接mysql:

<?php
 header("content-type:text/html;charset=utf8");
 $arr=$_POST;
 $id=(int)$arr['id'];
 require_once 'init.php';
 $sql="update article set title = '$arr[title]',content = '$arr[content]' where id = '$id'";
 //echo $sql;
 $re=mysql_query($sql);//执行sql语句
 //echo $re;
 if($re){
  echo "修改成功";
  echo "<a href='articleList.php'>返回文章列表</a>";
 }else{
  echo "修改失败";
  echo "<a href='articleList.php'>返回文章列表</a>";
 }
 mysql_close();//关闭数据库

本文实例为大家分享了php实现文章发布系统、用户投票系统的具体代码,供大家参考,具体内容如下

<?php
include 'connect.php';
$name=$_POST['phone'];
$sql="insert into countone values(null,$name,now(),null)";
mysql_query($sql);
?>
<script type="text/javascript">
 alert ("投票成功!");
 location="question.php";
</script>

本文实例讲述了PHP实现简单的新闻发布系统。分享给大家供大家参考。具体如下:

/**
  * @data 文章发布
  *    文章详情散列表中递增ID,讲文章发布者ID写入投票用户集合中,设置投票时间为一周
  *    讲文章内容写入文章散列中,讲文章写入文章评分有序集合和文章发布有序集合中
  * @author Lorne
  * @date 2017-03-03
  */
  public function post_article($user){
    $VOTE_SCORE = 24;
    $redis = $this -> redis;
    $key= "queue";
    $ONE_WEEK_IN_SECONDS= 7*86400;
    $redis -> multi($key);
    //生成新的文章id
    $article_id = $redis -> incr("article:",$key);

    //文章已投票用户名单
    $voted = "voted:".$article_id;
    $this->redis->sadd($voted,$user,$key);
    //设置过期时间(为1周)
    $this->redis->expipre($voted,$ONE_WEEK_IN_SECONDS,$key);

    //获取现在的时间
    $now =time();
    $article = "article:".$article_id;
    $data = ['title'=>'测试1','link'=>'www.hahaha.com','poster'=>$user,'tine'=>$now,'votes'=>1];
    //$data = json_encode($data);
    $redis -> hmset($article,$data,$key);

    //将文章添加到根据时间排序有序集合和根据评分排序有序结合中
    $this -> redis -> zadd("score:",1,$article,$key);
    $this -> redis -> zadd("time:",$now,$article,$key);

    $redis -> exec($key);
  }


/**
  * @data 用户投票
  *    获取文章的ID,用户ID,判断该篇文章是否已经过了投票时间,再判断用户是否已经投过票
  *    写入文章对应投票用户表中(voted:文章ID),对应的文章评分加,文章详情内容中的votes统计加1
  * @author Lorne
  * @date 2017-03-03
  */
  public function article_vote(){
    $ONE_WEEK_IN_SECONDS= 7*86400;
    $article = "article:3";
    $user = "user:7777";

    $redis = $this -> redis;
    $key= "queue";
    $cutoff = time() - $ONE_WEEK_IN_SECONDS;
    //文章发布时间和投票截止日期对比
    if($redis->zscore('time:',$article,$key) < $cutoff){
      var_dump("该文章已过投票时间!");exit;
    }
    $article_id = explode(':',$article)['1'];
    if($redis->sadd('voted:'.$article_id,$user,$key)){
      $redis -> zincrby('score:',$article,1,$key);
      $redis -> hincrby($article,'votes',1,$key);
    }else{
      var_dump("您已经投过票了!");exit;
    }
  }


/**
  * @data 文章列表分页
  *    对文章评分有序集合或者时间发布有序集合做分页处理,获取文章ID后,去文章详情散列表中查询该文章详情
  * @author Lorne
  * @date 2017-03-03
  */
  public function get_articles($page =1,$orders =''){
    $redis = $this->redis;
    $db = "queue";
    //$orders = "time:";
    $per_page = 3;
    $start = ($page-1)*$per_page;
    $end = $start + $per_page -1;
    $ids = $redis -> zrevrange($orders,$start,$end,$db);
    foreach($ids as $key=>$val){
      $data = $redis -> hgetall($val,$db);
      $data['id'] = $val;
      $articles[] = $data;
    }
    return $articles;
  }


/**
  * @data 文章添加组和移除组
  *    讲该文章加入不同的分组中,或者从个分组中移除该篇文章
  * @author Lorne
  * @date 2017-03-03
  */
  public function add_remove_group($article_id,$to_add = [],$to_remove = []){
    $redis = $this->redis;
    $db = "queue";
    $article = "article:".$article_id;
    foreach($to_add as $key=>$val){
      $redis -> sadd('group:'.$val,$article,$db);
    }
    foreach($to_remove as $key=>$val){
      $redis -> srem('grouo:'.$val,$article,$db);
    }
  }


/**
  * @data 组集合中的文章根据评分或者时间分页排序
  *    
  * @author Lorne
  * @date 2017-03-03
  */
  public function get_grouop_articles($orders = "time:"){
    $redis = $this -> redis;
    $db = "queue";
    $group = '开发';
    $key = $orders.$group;
    if($redis -> exists($key,$db)){
      $argument = 2;
      $data = $redis -> zinterstore($key,$argument,['group:'.$group,$orders],$db);
      //$this -> expire($key,60,$db);
    }
    return $this->get_articles(2,$key);
  }

写的有点啰嗦,有点笨但很实用

基础知识总结:

    redis是一个高性能的key-value存储系统,最为常见的5大类型:string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型),和memcache区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

希望本文所述对大家PHP程序设计有所帮助。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
 <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
<title>Insert title here</title>
</head>
<body bgcolor="#ccc">
<?php 
   $id=(int)$_GET['id'];
   require_once 'init.php';
   $sql="select id,title,content from article where id = '$id'";
   //echo $sql;
   $re=mysql_query($sql);//执行sql语句
   $arr=mysql_fetch_assoc($re);
   //var_dump($arr);
   mysql_close();//关闭数据库

?>
 <form name="article" method="post" action="articleUpdate.php" style="margin:5px 500px;">
   <h1>文章发布系统</h1>
   <input type="hidden" name="id" value="<?php echo $arr['id']?>"/><br/>
  标题:<input type="text" name="title" value="<?php echo $arr['title']?>"/><br/>
  内容:<textarea cols=30 rows=5 name="content"><?php echo $arr['content']?></textarea><br/><br/>
   <input type="submit" value="修改文章"/>
   <a href="articleList.php">返回文章列表</a>
   <a href="articlePublish.html">返回发布文章</a>
 </form>
</body>
</html>

您可能感兴趣的文章:

  • php投票系统之增加与删除投票(管理员篇)
  • PHP+MySQL实现的简单投票系统实例
  • PHP+MySQL投票系统的设计和实现分享
  • PHP投票系统防刷票判断流程分析
  • PHP+MYSQL的文章管理系统(一)
  • PHP+MYSQL的文章管理系统(二)
  • PHP+MYSQL会员系统的开发实例教程
  • 简单的php新闻发布系统教程
  • 10款PHP开源商城系统汇总介绍
  • PHP实现简单的新闻发布系统实例
<html>
<head><title>手机系统调查问卷</title>
<style type="text/css">
<!--
span{
  width:600px;
  height:100px;
  background-color:write;
  postion:relative;
  border:1px #cccccc solid;
}
div{
  width:60px;
  height:1px;
  background-color:blue;
  postion:absolute;
  bottom:0;
}
-->
</style>
</head>
<body>
你现在使用的手机是什么系统?
<form id="form1" method="POST" action="count.php">
<input type="radio" name="phone" value="1"> Android安卓
<input type="radio" name="phone" value="2"> Symbian塞班
<br>
<input type="radio" name="phone" value="3"> iphone苹果
<input type="radio" name="phone" value="4"> Google谷歌
<br>
<input type="radio" name="phone" value="5"> Winphone微软
<input type="radio" name="phone" value="6"> 其它
<br>
<input type="submit" value="提交">
</form>

当前票数:<br>
<?php
include 'connect.php';
$sql="select answer from countone";
$rs=mysql_query($sql);
$total=mysql_num_rows($rs);
$sql="select * from countone where answer=1";
$rs=mysql_query($sql);
$android=mysql_num_rows($rs);
$sql="select * from countone where answer=2";
$rs=mysql_query($sql);
$symbian=mysql_num_rows($rs);
$sql="select * from countone where answer=3";
$rs=mysql_query($sql);
$iphone=mysql_num_rows($rs);
$sql="select * from countone where answer=4";
$rs=mysql_query($sql);
$google=mysql_num_rows($rs);
$sql="select * from countone where answer=5";
$rs=mysql_query($sql);
$winphone=mysql_num_rows($rs);
$sql="select * from countone where answer=6";
$rs=mysql_query($sql);
$other=mysql_num_rows($rs);
?>
<table border="0">
<th>android</th><th>Symbian</th><th>iphone</th><th>Google</th><th>winphone</th><th>other</th>
<tr>
<td><?php echo $android ?>票</td>
<td><?php echo $symbian ?>票</td>
<td><?php echo $iphone ?>票</td>
<td><?php echo $google ?>票</td>
<td><?php echo $winphone ?>票</td>
<td><?php echo $other ?>票</td>
</tr>
<tr>
<td><?php for ($i=1;$i<=$android/$total+1;$i=$i+0.1){  echo "<div></div>"; } ?></td>
<td><?php for ($i=1;$i<=$symbian/$total+1;$i=$i+0.1){  echo "<div></div>"; } ?></td>
<td><?php for ($i=1;$i<=$iphone/$total+1;$i=$i+0.1){  echo "<div></div>"; } ?></td>
<td><?php for ($i=1;$i<=$google/$total+1;$i=$i+0.1){  echo "<div></div>"; } ?></td>
<td><?php for ($i=1;$i<=$winphone/$total+1;$i=$i+0.1){ echo "<div></div>"; } ?></td>
<td><?php for ($i=1;$i<=$other/$total+1;$i=$i+0.1){ echo "<div></div>"; } ?></td>
</tr>
</table>

</body>
</html>

您可能感兴趣的文章:

  • php投票系统之增加与删除投票(管理员篇)
  • PHP+MySQL实现的简单投票系统实例
  • PHP+MySQL投票系统的设计和实现分享
  • PHP投票系统防刷票判断流程分析
  • PHP+MYSQL的文章管理系统(一)
  • PHP+MYSQL的文章管理系统(二)
  • PHP+MYSQL会员系统的开发实例教程
  • 简单的php新闻发布系统教程
  • 10款PHP开源商城系统汇总介绍
  • php redis实现文章发布系统(用户投票系统)

    最近越来越喜欢用上redis,有情投意合者一起多多交流呀。

您可能感兴趣的文章:

  • php投票系统之增加与删除投票(管理员篇)
  • PHP+MySQL投票系统的设计和实现分享
  • PHP投票系统防刷票判断流程分析
  • PHP+MYSQL的文章管理系统(一)
  • PHP+MYSQL的文章管理系统(二)
  • 澳门金莎娱乐,PHP+MYSQL会员系统的开发实例教程
  • 简单的php新闻发布系统教程
  • 10款PHP开源商城系统汇总介绍
  • PHP实现简单的新闻发布系统实例
  • php redis实现文章发布系统(用户投票系统)

3.点击编辑,修改文章 提交到 aiticleEdit.php 表单页面(回显)

本文实例讲述了PHP+MySQL实现的简单投票系统。分享给大家供大家参考,具体如下:

articleUpdate.php:

<?php
 header("content-type:text/html;charset=utf8");
 date_default_timezone_set('Asia/Shanghai');
 $title=trim($_POST['title']);
 $content=trim($_POST['content']);
 $time=date("y-m-d H:i:s");
 require_once 'init.php';
 $sql="insert into article(title,content,create_time) values('$title','$content','$time')";
 //echo $sql;
 $re=mysql_query($sql);//执行sql语句
 if($re){
  echo "发布成功";
  echo '<a href="articleList.php">返回文章列表</a>';
 }else{
  echo "发布失败";
  echo '<a href="articleList.php">返回文章列表</a>';
 }
 mysql_close();//关闭数据库
<?php
 //连接数据库
 //五步走
 //往数据库添加文章
 $conn=mysql_connect("localhost","root","");//链接数据库
 //echo $conn;
 $re=mysql_select_db("article");//选择数据库
 mysql_query("set names utf8");//设置交互字符集

1.articlePublish.html 发布文章页面 提交到articlePublishDo.php页面,执行写入数据库

<?php
 header("content-type:text/html;charset=utf8");
 require_once 'init.php';
 $id=(int)$_GET['id'];
 $sql="delete from article where id = '$id'";
 //echo $sql;
 $re=mysql_query($sql);
 if($re){
  echo "删除成功";
  echo "<a href='articleList.php'>返回文章列表</a>";
 }else{
  echo "删除失败";
  echo "<a href='articleList.php'>返回文章列表</a>";
 }

articlePublishDo.php:

articleList.php:

articleEdit.php:

articlePublish.html:

init.php:

2.articleList.php 文章列表页面

希望本文所述对大家的php程序设计有所帮助。

文章发布系统

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
<title>Insert title here</title>
</head>
<body>
<!--
 搜索框
-->
 <form method="get" action="articleList.php" style="margin:10px 400px;">
  <input type="text" name="search"/>
  <input type="submit" value="搜索"/>
 </form>
 <br/>
 <table cellspacing="0" cellpadding="0" align="center" bgcolor="#ccc" width=500 >
 <a href="articlePublish.html" style="padding:20px 30px">返回发布文章</a>
  <tr>
   <th>编号</th>
   <th>文章标题</th>
   <th>文章内容</th>
   <th>编辑文章</th>
  </tr>
  <?php
   require_once 'init.php';
   /**
    * 搜索
    */
   $keyword=$_GET['search'];
   /*分页*/
   $sql="select count(*) from article where title like '%$keyword%' or content like '%$keyword%'";
   $res=mysql_query($sql);
   //$count= (int)mysql_num_rows($result);
   $arr=mysql_fetch_assoc($res);
   while(list($key,$val)=each($arr)){
    $count = (int)$val; 
   }
   //echo $count;
   $pageSize=4;
   $page=floor($count/$pageSize)+1;//总页数$page
   echo $page;
   //echo $page;
   if(isset($_GET['page']))
   {
    //$currentPage = $_GET['page'];
    if($_GET['page'] <=1){
     $currentPage = 1;
    }elseif ($_GET['page'] >= $page){
     $currentPage = $page-1;
    }else{
     $currentPage = $_GET['page'];
    }
   }else
   {
    $currentPage=1;
   }
   $start = ($currentPage-1)*$pageSize;
   $sql="select id,title,content from article where title like '%$keyword%' or content like '%$keyword%' limit $start,$pageSize";
   //echo $sql;
   $re=mysql_query($sql);//执行sql语句
   while($arr=mysql_fetch_assoc($re)){
  ?> 
    <tr>
     <td align="center" style="border:1px solid #000"><?php echo $arr['id'];?></td>
     <input type="hidden" name="id" value="<?php echo $arr['id'];?>"/>
     <td align="center" style="border:1px solid #000"><?php echo $arr['title'];?></td>
     <td align="center" style="border:1px solid #000"><?php echo $arr['content'];?></td>
     <td align="center" style="border:1px solid #000">
      <a href="articleEdit.php?id=<?php echo $arr['id']?>"><font color="red">修改</font></a>
      <a href="articleDelete.php?id=<?php echo $arr['id']?>"><font color="red">删除</font></a>
     </td>
    </tr>
  <?php 
    }
   mysql_close();//关闭数据库
  ?>
 </table>
 <div style="margin:20px 400px;">
  共<?php echo $page?>页 |查到<?php echo $count;?>条记录
  当前第<?php echo $_GET['page']?>页|
  <a href="articleList.php?page=1&search=<?php echo $keyword?>">首页</a>
  <a href="articleList.php?page=<?php echo ($currentPage-1)?>&search=<?php echo $keyword?>">|上一页</a>
  <a href="articleList.php?page=<?php echo ($currentPage+1)?>&search=<?php echo $keyword?>">|下一页</a>
  <a href="articleList.php?page=<?php echo $page?>&search=<?php echo $keyword?>">|末页</a>
 </div>
</body>
</html>

4.点击修改文章按钮 提交到 articleUpdate.php

本人小白,一直在公司用模板和框架写PHP,发现有时候连基本的sql语句都忘记了,所以有空想把PHP基础复习下,巩固下。分页和搜索,以及排序,还没写,后期继续更新...(代码修改:添加搜索和分页功能)

版权声明:本文由澳门金莎娱乐发布于计算机网络,转载请注明出处:MySQL实现的简单投票系统实例,PHP实现简单的新闻发布系统实例