Abstract: 新闻管理系统新闻展示页面、个人信息、找回密码以及点赞功能编写。
一、新闻展示页面 show_news.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
   | <html> <head>     <title>         新闻展示界面     </title> </head> <body>     <?php         $hot = 0;         $title = 0;         $author = 0;         $view = 0;         $time = 0;         $content = 0;         @$id= $_GET['id'];         $hostname = '127.0.0.1';         $username = 'root';         $passwd = 'root';         if($id){             @$con = mysql_connect('127.0.0.1', 'root','root') or die(mysql_error());             @mysql_select_db("lianxi") or die(mysql_error());             mysql_query("set names 'utf8'") or die(mysql_error());             $sql = "SELECT * FROM `tb_news` WHERE `id`='$id'";             $result = mysql_query($sql) or die(mysql_error());             for($i=0; $i<mysql_affected_rows(); $i++){                 $arr = mysql_fetch_assoc($result);                 if($arr['id'] == $id){                     $hot=$arr['hot'];                     $title = base64_decode($arr['title']);                     $author = base64_decode($arr['author']);                     $view = $arr['view'];                     $time = $arr['add_time'];                     $content = base64_decode($arr['contents']);                         break;                 }             }         }         echo "<h1 align='center'>$title</h1>";         echo "<div style='float: left'><label>作者: $author</label><label>    时间:$time</label></div>";         echo "<div style='float: right'><label>热度: $hot</label>   <label> / 浏览量:$view</label></div>";         echo "<br>";         echo "<hr>";         echo "<p align='center'>$content</p>";         echo "<hr>";         echo "<br>";         echo <<<EOF             <div align="center">                 <form action="newAddnews.php", mathod="post">                     <textarea rows='10' cols='100' style="resize: none"></textarea>                     <br>                     <input type="submit" name="suubmit" value="提交">                 </form>             </div> EOF;         echo "<br>";         echo "<h4 align='center'>评论</h4>";         echo "<br>";         if($id) {             @$con = mysql_connect('127.0.0.1', 'root', 'root') or die(mysql_error());             @mysql_select_db("lianxi") or die(mysql_error());             mysql_query("set names 'utf8'") or die(mysql_error());             $sql = "SELECT * FROM `tb_discuss` WHERE `new_id`='$id'";             $result = mysql_query($sql) or die(mysql_error());             for ($i = 0; $i < mysql_affected_rows(); $i++) {                 $arr1 = mysql_fetch_assoc($result);                 $discussUser = base64_decode($arr1['discuss_user']);                 $time = $arr1['discuss_time'];                 $discussContent = $arr1["discuss_content"];                 echo "<hr style=\"border:1px dashed #000; height:1px\">";                 echo "<p align='center'>用户:$discussUser" .     "     时间:$time</p>";                 echo "<br>";                 echo "<p align='center'>$discussContent</p>";                 echo "<hr style=\"border:1px dashed #000; height:1px\">";             }             mysql_close($con);         }     ?> </body> </html>
   | 
 
二、个人信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
   | <?php Require_once '../basedir/header.php'; ?> <?php session_start(); error_reporting(E_ALL^E_NOTICE); if(!isset($_SESSION['username'])){     echo "<script>alert('请登录后查看!');location.href='login.php';</script>"; } ?> <html> <head>     <title>         个人资料     </title> </head> <body>     <br><br><br><br>     <div style="margin: 0px 600px 0px 600px">            <form action="personal_informationhoutai.php" method="post" enctype= "multipart/form-data">
                      头像:<input type="file" name="addr"/><br><br>
                      邮箱:<input type="email" name="email"/><br><br>
                      性别:<input type="radio" name="sexnan"/>男                           <input type="radio" name="sexnv"/>女<br><br>
                  <input type="submit" value="提交"/>                </form>     </div> </body> </html>
  <?php Require_once '../basedir/footer.php'; ?>
   | 
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
   | <?php Require_once "sql.php"; session_start(); error_reporting(E_ALL^E_NOTICE);
  $username = $_SESSION['username']; $sql = "SELECT * FROM `tb_users` WHERE `username`='$username';"; echo "<br>"; $row = mysql_query($sql);
  $row = mysql_fetch_assoc($row); echo "<br>"; $path = $row['addr']; //var_dump($path); echo "<br>"; //将文件从临时文件中转移到文件保存路径 var_dump(move_uploaded_file($_FILES['addr']['tmp_name'], $path));
  $email=  $_POST['email'];
      if($_POST['sexmale']){         $sex = 1;     }     if($_POST['sexfemale']){         $sex = -1;     }
  var_dump($_SESSION['username']); //var_dump($sex); $yuju = "UPDATE `tb_users` SET email='{$email}',sex='$sex' WHERE `username` = '$_SESSION['username']';"; //echo $path; $row=  mysql_query("{$path}");
  ?>
   | 
 
三、找回密码
1.find_passwd.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
   | <?php Require_once '../basedir/header.php'; ?> <!DOCTYPE html> <html> <head > <meta charset="utf-8"></head> <body> <h2 align="center">找回密码</h2> <br> <!--text-align:center;--> <div style="text-align:center;">     <tr>         <form action="findPasswdhoutai.php" method="post" onsubmit="checkpass()" onchange="checkanswer()">             <p><input type="text" name="name" placeholder="输入要找回密码的用户名" style="height: 20px;width: 200px"></p>             <p>问题:你的爱好是?</p>             <p><input type="text" name="answer" id="inanswer" placeholder="答案" style="height: 20px;width: 200px"></p>             <p><input type="password" name="passwd" id="passFirst" placeholder="新密码" style="height: 20px;width: 200px"></p>             <p><input type="password" name="passwdagain" id="passSecond" placeholder="再次输入密码" style="height: 20px;width: 200px"></p>
              <p><input type="submit" name="提交"></p>         </form>     </tr>     <tr>         <td align="right">         </td>     </tr> </div> </body> </html>
  <?php Require_once '../basedir/footer.php'; ?>
   | 
 
2.find_passwd_backstage.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
   |  <?php Require_once "sql.php"; //需要修改! error_reporting(E_ALL^E_NOTICE); $username = $_POST['name']; var_dump($username); //    $username = 'root'; //删除用户 $sql = "SELECT * FROM `tb_anquan` WHERE `username`='$username';"; echo $sql; $result = mysql_query($sql) or die(mysql_error());
  $arr = mysql_fetch_assoc($result); $answer = $arr['mima']; //echo $answer; //$inAnswer = $_POST['answer']; if($answer != $_POST['answer']){        die("<script>alert('密保答案不正确!');</script>"); } $passFirst = $_POST['passwd']; $passSecond = $_POST['passwdagain']; if($passFirst==NULL && $passSecond==NULL) {     die("<script>alert('请输入密码!');</script>"); }else{     if($passFirst != $passSecond){         die("<script>alert('输入密码不一致,请重新输入!');</script>");     }else {         $passFirst = md5($passFirst);         $sql = "UPDATE `tb_users` SET `password`= '$passFirst' WHERE `username`='$username';";         echo $sql;         $result = mysql_query($sql) or die(mysql_error());         if (mysql_affected_rows()) {             echo "<script>alert('更新成功!');location.href='login.php';</script>";         } else {             die("<script>alert('更新失败!');location.href='findPasswd.php';</script>");         }     } } ?>
 
  | 
 
四、点赞功能
up_down.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
   | <html> <style >     .th{         vertical-align: middle;     }     <script type="text/javascript" src="../js/jquery-1.12.4.js"></script> <?php     Require_once "sql.php"; ?> </style>
  <div style="width:100%;text-align:center">     <h1>新闻界面</h1> </div> <table align="center" border="1" width="1200">     <tr>         <th> <h2>热度</h2> </th>         <th> <h2>标题</h2> </th>         <th> <h2>作者</h2> </th>         <th> <h2>时间</h2> </th>         <th width="150px"> <h2>操作</h2> </th>     </tr> <?php //$uers_id = $_SESSION["user_id"]; $user_id=13; $storeUidType = array(); $result = mysql_query("select * from tb_news order by hot desc;"); //====================================================================================== $readNews = mysql_query("select * from `tb_hot` where `user_id`=$user_id"); //把用户对新闻的评价保存在一个数组里 //$storeUidType[news_id] = type while($arr1 = mysql_fetch_assoc($readNews)) {     $hotUser_id = $arr1['user_id'];     $hotNews_id = $arr1['news_id'];     $hotType = $arr1['type'];     $storeUidType[$hotNews_id] = $hotType; } //echo $storeUidType; //====================================================================================== while($arr = mysql_fetch_assoc($result)){     $title = base64_decode($arr['title']);     //var_dump($title);     $contents = base64_decode($arr['contents']);     $author = base64_decode($arr['author']);     $new_img = $arr['new_img'];     $add_time = $arr['add_time'];     $Hot = $arr['hot'];     //读取新闻ID     $id = $arr['id'];     //=============================================     //用户还没有对新闻进行评价,颜色设置成黑色     if($storeUidType[$id]==1){         $upColor = "red";         $downColor = "black";     }elseif($storeUidType[$id]==-1){         $upColor = "black";         $downColor = "red";     }else{         $upColor = "black";         $downColor = "black";     }     //=============================================     $idUp = 'btnUp' . $id;     $idDown = 'btnDown' . $id;     $tu = base64_decode($new_img);     echo             <<<EOF             <tr>             <td align="center">{$Hot}</td>             <td align="center">{$title}</td>             <td align="center">{$author}</td>             <td align="center">{$add_time}</td>             <td align="center" rowspan="2">                 <p>                                       <button id=$idUp style='color: $upColor' onclick='btnUpAct(this.id)'>赞</button>/                     <button id=$idDown style='color: $downColor' onclick='btnDownAct(this.id)'>踩</button>                                     </p>                              </td>             </tr>
              <tr>             <td align="center" height: 30px; width: 300px; text-align: center;>             <img height="150px" src={$tu}>             </td>             <td colspan="3" align="center" ><a href="xinwenzhanshimore.php?action={$title}">{$contents}</a>              </tr>              <script>                 function btnUpAct(id){                                        if(id=='$idUp'){                         if(document.getElementById(id).style.color == "red"){                             alert('您已点过赞了!');                         }else{                             document.getElementById(id).style.color="red";                             document.getElementById('$idDown').style.color="black";                          }                     }                 }                 function btnDownAct(id){                     if(id=='$idDown'){                         if(document.getElementById(id).style.color == "red"){                             alert('您已点过踩了!');                         }else{                             document.getElementById(id).style.color="red";                             document.getElementById('$idUp').style.color="black";                                 }                     }                 }                            </script> EOF;      ?> </table> </html>
   | 
 
五、问题与总结
新闻展示、个人信息、找回密码三个功能均可完美实现。点赞功能还是有些问题,从数据库中读取数据,新闻展示界面把该用户对每条新闻的赞踩显示出红色,在按钮添加事件,当颜色为红色时,再次点击该按钮会提示已操作过。用这种思路写出来,只是最后一条新闻功能实现是正确,后来查资料得知,js事件用于循环时只对最后一条有作用,需用闭包解决。需换思路!