首页 > 开发 > PHP > 正文

PHP+MYSQL留言本(二)

2024-05-04 23:06:10
字体:
来源:转载
供稿:网友

昨天已经把留言本的大概功能弄了出来`~~~今天再稍微改善下加一个管理员管理留言的功能~~~这里最主要要用到 $_session['item'] 这个东东~~`

好了`~`先把昨天的稍微改一下 再把这个功能加进去~~~

首先我们在首页同时显示留言,以及留言添加框~~这样使留言者方便使用`~`

不说多了`~把代码贴出来再说:

index.php

  1. <html>  
  2. <head>  
  3. <meta http-equiv="Content-Type" content="text/html; charset=gb2312">  
  4. <title>留言本</title>  
  5. </head>  
  6.  <body>  
  7. <a href="admin_login.htm" tagert="_blank">留言管理</a>  
  8.    <?  
  9.      $conn=MySQL_connect ("localhost:6033""root"""); //打开MySQL服务器连接  
  10.      mysql_select_db("guest_book"); //链接数据库  
  11.      mysql_query("set names GB2312"); //解决中文乱码问题  
  12.      $exec="select * from contents"//sql语句  
  13.      $result=mysql_query($exec); //执行sql语句,返回结果  
  14.      while($rs=mysql_fetch_object($result))   
  15.     {  
  16.       echo "<table><tr><td>姓名:".$rs->name."</td></tr>";  
  17.       echo "<tr><td>留言:".$rs->content."</td></tr></table><br/>";  
  18.       echo ".............................................................................................................................";  
  19.     }  
  20.        mysql_close();  
  21.  ?>  
  22. <br><br><br>  
  23. <form action="updata.php" method="post" name="name1">  
  24.     姓名:<input type="text" name="user_name"><br>  
  25.     留言:<textarea name="post_contents" rows="10" cols="50"></textarea>  
  26.     <input type="submit" value="提交留言">  
  27.    </form>  
  28. </body>  
  29. </html> 

updata.php页再加个header("location:index.php");语句重定向到主页面`~~

updata.php

  1. <?  
  2.   $name=$_POST['user_name'];  
  3.   $content=$_POST['post_contents'];  
  4.   $conn=mysql_connect("localhost:6033""root""");  
  5.    mysql_query("set names GB2312"); //解决中文乱码问题  
  6.    mysql_select_db("guest_book");  
  7.    $exec="insert into contents (name,content) values ('".$_POST['user_name']."','".$_POST['post_contents']."')";  
  8.    $result=mysql_query($exec);  
  9.    mysql_close();  
  10.    header("location:index.php");  
  11. ?> 

HOHO~~~是不是用起来有那么回事了`~~

好的`~下面再加个管理功能 ~~那么这个留言本就更加强大了`~

留言管理模块 分为 管理员登录页admin_login.htm ,管理员验证页admin_check.php  后台管理首页admin_index.php

先弄这个登录页面admin_login.htm

  1. <form action="admin_check.php" method="post" name="form2"> 
  2.    用户名:<input type="text" name="admin_name"> 
  3.    密  码:<input type="passWord" name="admin_password"> 
  4.   <input type="submit" value="进入后台管理"> 
  5. </form> 

这个简单得再简单不过了,我就不说什么了`~~

admin_check.php管理员验证

  1. <?  
  2.   session_start();  
  3.   $admin_name=$_POST['admin_name'];  
  4.   $admin_password=$_POST['admin_password'];  
  5.   $conn=mysql_connect ("localhost:6033""root""");  
  6.   mysql_select_db("guest_book");  
  7.   $exec="select * from admin where admin_name='".$admin_name."'";  
  8.   $result=mysql_query($exec);  
  9.    if ($rs=mysql_fetch_object($result))  
  10.     { if ($rs->admin_password==$admin_password)  
  11.        {$_SESSION['admin']="OK";  
  12.         header("location:admin_index.php");  
  13.         }  
  14.       else echo"密码不正确";  
  15.     }  
  16.    else echo"用户名不正确";  
  17.     
  18.    mysql_close();  
  19. ?> 

这里最主要的就是session~~~凡事要用到session的地方.在页面最开始处要加上这一句session_start();否则就无法使用~~那么session究竟是什么东东呢?由于网页的传输方式(也就是http这个东西) 不是永久连接的~~`所以服务器无法在两个不同页面之间传送变量`~~唉.我一下子也说不清楚`~~还是看看这里 http://www.Vevb.com/php/phphuihua/
上面有很详细的介绍.反正就是用这个东西来验证管理员的身分了`~~

好了下面说后台管理主页面admin_index.php

  1. <?  
  2. session_start();  
  3. if($_SESSION['admin']=="OK")  
  4.  {  
  5.   $conn=mysql_connect ("localhost:6033""root""");  
  6.   mysql_select_db("guest_book");  
  7.   $exec="select * from contents";  
  8.   $result=mysql_query($exec);  
  9.   while($rs=mysql_fetch_object($result))  
  10.      {  
  11.       echo "<table><tr><td>姓名:".$rs->name."</td></tr>";  
  12.       echo "<tr><td>留言:".$rs->content."</td></tr></table><br/>";  
  13.       echo  "<a href=modify.php?id=".$rs->id." >修改</a>      <a href=delete.php?id=".$rs->id." >删除</a>";  
  14.      }  
  15.  echo "<br><br><br><br><br><a href=index.php >回首页</a>";  
  16.  }  
  17.  mysql_close();  
  18. ?> 

这里最主要是这一句echo  "<a href=modify.php?id=".$rs->id." >修改</a><a href=delete.php?id=".$rs->id." >删除</a>";

用来向所连接到的地址传递参数~~看看下面的就知道有什么用了

modify.php

  1. <?  
  2.  session_start();  
  3.  if($_SESSION['admin']=="OK")  
  4.  {  
  5.   $conn=mysql_connect ("localhost:6033""root""");  
  6.   mysql_select_db("guest_book");  
  7.   $exec="select * from contents where id=".$_GET['id'];  /*这里这个$_GET['id']就是取得从那个连接传递过来的参数拉 */ 
  8.   $result=mysql_query($exec);  
  9.   $rs=mysql_fetch_object($result);  
  10.   $name=$rs->name;  
  11.   $content=$rs->content;  
  12.   $id=$rs->id;  
  13.  ?>  
  14.  
  15.   <form action="modify2.php" method="post" name="name1">  
  16.     ID  :<?=$id?><input type=hidden name=id value=<?=$id?> >  
  17.     姓名:<?=$name?><br>  
  18.     留言:<textarea name="post_contents" rows="10" cols="50"><?=$content?></textarea>  
  19.     <input type="submit" value="提交修改">  
  20.    </form>  
  21.  <?  
  22.   }  
  23. mysql_close();  
  24. ?> 

这里这个<?=$id> 其实就等于 echo $id

再看看最终的数据修改实现页面modify2.php

  1. <?  
  2.  session_start();  
  3.  if($_SESSION['admin']=="OK")  
  4.  {  
  5.   $conn=mysql_connect ("localhost:6033""root""");  
  6.   mysql_select_db("guest_book");  
  7.   $exec="select * from contents where id=".$_GET['id'];  
  8.   $exec="update contents set content='".$_POST['post_contents']."' where id=".$_POST['id'];  
  9.   $result=mysql_query($exec);  
  10.    
  11.  }  
  12.  mysql_close();  
  13.  header("location:admin_index.php");  
  14. ?> 

最后就是删除功能的实现了

delete.php

  1. <?  
  2.  session_start();  
  3.  if($_SESSION['admin']=="OK")  
  4.  {  
  5.   $conn=mysql_connect ("localhost:6033""root""");  
  6.   mysql_select_db("guest_book");  
  7.   $exec="delete from contents where id=".$_GET['id'];  
  8.   mysql_query($exec);  
  9.   mysql_close();  
  10.  header("location:admin_index.php");  
  11.  }  
  12. ?> 

今天用到的知识如下:

1: session_start();  $_SESSION['变量名']=$变量名 或者 某一特定值

2: <a href="#####.php?var=##">aaa</a>用这个方法来传递参数  同时用 $_GET['var']来接收传递过来的值

3: 数据修改 :$exec="update tablename set item1='".$_POST['item1']."' where ...";

4: 数据删除 :$exec="delete from tablename where...";

是不是看起来一团/乱麻~~~~明天用include 还有requre 好好修改下`~~~~让程序看起来清晰点~~~

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表