PHP+MYSQL留言本(二)_[PHP教程]                                           					
上篇:PHP+MYSQL留言本
昨天已经把留言本的大概功能弄了出来`~~~今天再稍微改善下加一个管理员管理留言的功能~~~这里最主要要用到
_SESSION['item'] 这个东东~~`
  好了`~`先把昨天的稍微改一下 再把这个功能加进去~~~
  首先我们在首页同时显示留言,以及留言添加框~~这样使留言者方便使用`~`
 不说多了`~把代码贴出来再说:
 index.php
  
  留言本   留言管理              conn=mysql_connect ("localhost:6033", "root", ""); //打开MySQL服务器连接 
     mysql_select_db("guest_book"); //链接数据库 
     mysql_query("set names GB2312"); //解决中文乱码问题 
     exec="select * from contents"; //sql语句 
     result=mysql_query(exec); //执行sql语句,返回结果 
     while(rs=mysql_fetch_object(result))  
    { 
      echo "姓名:".rs->name.""; 
      echo "留言:".rs->content."
";
      echo "............................................................................................................................."; 
    }
       mysql_close();
 ?>
updata.php页再加个header("location:index.php");语句重定向到主页面`~~
updata.php
 
  name=_POST['user_name']; 
  content=_POST['post_contents']; 
  conn=mysql_connect("localhost:6033", "root", ""); 
   mysql_query("set names GB2312"); //解决中文乱码问题 
   mysql_select_db("guest_book"); 
   exec="insert into contents (name,content) values ('"._POST['user_name']."','"._POST['post_contents']."')"; 
   result=mysql_query(exec);
   mysql_close();
   header("location:index.php");
?>
HOHO~~~是不是用起来有那么回事了`~~
 好的`~下面再加个管理功能 ~~那么这个留言本就更加强大了`~
留言管理模块 分为 管理员登录页admin_login.htm ,管理员验证页admin_check.php  后台管理首页admin_index.php
 先农这个登录页面admin_login.htm
这个简单得再简单不过了,我就不说什么了`~~
admin_check.php管理员验证
 
  session_start();
  admin_name=_POST['admin_name'];
  admin_password=_POST['admin_password'];
  conn=mysql_connect ("localhost:6033", "root", "");
  mysql_select_db("guest_book");
  exec="select * from admin where admin_name='".admin_name."'";
  result=mysql_query(exec);
   if (rs=mysql_fetch_object(result))
    { if (rs->admin_password==admin_password)
       {_SESSION['admin']="OK";
        header("location:admin_index.php");
        }
      else echo"密码不正确";
    }
   else echo"用户名不正确";
   
   mysql_close();
?>
这里最主要的就是session~~~凡事要用到session的地方.在页面最开始处要加上这一句session_start();否则就无法使用~~那么session究竟是什么东东呢?由于网页的传输方式(也就是http这个东西) 不是永久连接的~~`所以服务器无法在两个不同页面之间传送变量`~~唉.我一下子也说不清楚`~~还是看看这里Linuxpub.com/read.php?wid=87">http://www.chinalinuxpub.com/read.php?wid=87
上面有很详细的介绍.反正就是用这个东西来验证管理员的身分了`~~
好了下面说后台管理主页面admin_index.php
session_start();
if(_SESSION['admin']=="OK")
 {
  conn=mysql_connect ("localhost:6033", "root", "");
  mysql_select_db("guest_book");
  exec="select * from contents";
  result=mysql_query(exec);
  while(rs=mysql_fetch_object(result))
     {
      echo "姓名:".rs->name.""; 
      echo "留言:".rs->content."
";
      echo  "id." >修改      id." >删除";
     }
 echo "回首页";
 }
 mysql_close();
?>
这里最主要是这一句echo  "id." >修改      id." >删除";
用来向所连接到的地址传递参数~~看看下面的就知道有什么用了
modify.php
 session_start();
 if(_SESSION['admin']=="OK")
 {
  conn=mysql_connect ("localhost:6033", "root", "");
  mysql_select_db("guest_book");
  exec="select * from contents where id="._GET['id'];  /*这里这个_GET['id']就是取得从那个连接传递过来的参数拉 */
  result=mysql_query(exec);
  rs=mysql_fetch_object(result);
  name=rs->name;
  content=rs->content;
  id=rs->id;
 ?>
  
   }
mysql_close();
?>
这里这个=id> 其实就等于 echo id
再看看最终的数据修改实现页面modify2.php
 session_start();
 if(_SESSION['admin']=="OK")
 {
  conn=mysql_connect ("localhost:6033", "root", "");
  mysql_select_db("guest_book");
  exec="select * from contents where id="._GET['id'];
  exec="update contents set content='"._POST['post_contents']."' where id="._POST['id'];
  result=mysql_query(exec);
  
 }
 mysql_close();
 header("location:admin_index.php");
?>
最后就是删除功能的实现了
delete.php
 session_start();
 if(_SESSION['admin']=="OK")
 {
  conn=mysql_connect ("localhost:6033", "root", "");
  mysql_select_db("guest_book");
  exec="delete from contents where id="._GET['id'];
  mysql_query(exec);
  mysql_close();
 header("location:admin_index.php");
 }
?>
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
今天用到的知识如下:
1: session_start();  _SESSION['变量名']=变量名 或者 某一特定值
2: aaa用这个方法来传递参数  同时用 _GET['var']来接收传递过来的值
3: 数据修改 :exec="update tablename set item1='"._POST['item1']."' where ...";
4: 数据删除 :exec="delete from tablename where...";
////////////////////////////////////////
是不是看起来一团\乱麻~~~~明天用include 还有requre 好好修改下`~~~~让程序看起来清晰点~~~
今天就到这里了