PHP+MYSQL留言本(二)
昨天已經把留言本的大概功能弄了出來`~~~今天再稍微改善下加一個管理員管理留言的功能~~~這里最主要要用到$_SESSION['item'] 這個東東~~`
好了`~`先把昨天的稍微改一下 再把這個功能加進去~~~
首先我們在首頁同時顯示留言,以及留言添加框~~這樣使留言者方便使用`~`
不說多了`~把代碼貼出來再說:index.php<html> <head> <meta http-equiv='Content-Type' content='text/html; charset=gb2312'> <title>留言本</title> </head> <body><a href='http://www.aoyou183.cn/bcjs/admin_login.htm' tagert='_blank'>留言管理</a> <? $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 '<table><tr><td>姓名:'.$rs->name.'</td></tr>'; echo '<tr><td>留言:'.$rs->content.'</td></tr></table><br/>'; echo '.............................................................................................................................'; } mysql_close();?><br><br><br><form action='updata.php' method='post' name='name1'> 姓名:<input type='text' name='user_name'><br> 留言:<textarea name='post_contents' rows='10' cols='50'></textarea> <input type='submit' value='提交留言'> </form></body></html>
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<form action='admin_check.php' method='post' name='form2'> 用戶名:<input type='text' name='admin_name'> 密; 碼:<input type='password' name='admin_password'> <input type='submit' value='進入后臺管理'></form>這個簡單得再簡單不過了,我就不說什么了`~~
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這個東西) 不是永久連接的~~`所以服務器無法在兩個不同頁面之間傳送變量`~~唉.我一下子也說不清楚`~~還是看看這里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 '<table><tr><td>姓名:'.$rs->name.'</td></tr>'; echo '<tr><td>留言:'.$rs->content.'</td></tr></table><br/>'; echo; '<a href=modify.php? >修改</a>;;;<a href=delete.php? >刪除</a>'; }echo '<br><br><br><br><br><a href=index.php >回首頁</a>';}mysql_close();
?>
這里最主要是這一句echo; '<a href=modify.php? >修改</a>;;;<a href=delete.php? >刪除</a>';用來向所連接到的地址傳遞參數~~看看下面的就知道有什么用了
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;?>
<form action='modify2.php' method='post' name='name1'> ID; :<?=$id?><input type=hidden name=id value=<?=$id?> > 姓名:<?=$name?><br> 留言:<textarea name='post_contents' rows='10' cols='50'><?=$content?></textarea> <input type='submit' value='提交修改'> </form><? }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: <a href='http://www.aoyou183.cn/bcjs/21090.html#####.php?var=##'>aaa</a>用這個方法來傳遞參數; 同時用 $_GET['var']來接收傳遞過來的值3: 數據修改 :$exec='update tablename set item1=''.$_POST['item1'].'' where ...';4: 數據刪除 :$exec='delete from tablename where...';
////////////////////////////////////////是不是看起來一團亂麻~~~~明天用include 還有requre 好好修改下`~~~~讓程序看起來清晰點~~~今天就到這里了
