PHP+MYSQL留言本(二)
昨天已经把留言本的大概功能弄了出来`~~~今天再稍微改善下加一个管理员管理留言的功能~~~这里最主要要用到$_SESSION['item'] 这个东东~~`
好了`~`先把昨天的稍微改一下 再把这个功能加进去~~~
首先我们在首页同时显示留言,以及留言添加框~~这样使留言者方便使用`~`
不说多了`~把代码贴出来再说:index.php<html> <head> <meta http-equiv='Content-Type' content='text/html; charset=gb2312'> <title>留言本</title> </head> <body><a href='https://www.haobala.com/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='https://www.haobala.com/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 好好修改下`~~~~让程序看起来清晰点~~~今天就到这里了