您好,欢迎来到测品娱乐。
搜索
您的当前位置:首页PHP编写留言本

PHP编写留言本

来源:测品娱乐


PHP+MySQL写留言本

留言本最基本的功能就是: 1:用户写留言

2:把数据写入数据库 3:显示所有留言

下面就开始制作我的留言本

首先在PHPMYADMIN下建立一 guest_book数据库 然后在该数据库下建立一个contents的表 该表下建立两个字段 分别为 name 和 content SQL语句如下:

CREATE TABLE `contents` (

`id` int(11) NOT NULL auto_increment,

`name` varchar(20) NOT NULL default '\"no name\"', `content` mediumtext NOT NULL, PRIMARY KEY (`id`)

) TYPE=MyISAM AUTO_INCREMENT=6

好了数据库建好了 ~~`下面开始写程序了

该程序包含三个页面post.htm(留言提交页面) index.php(留言显示页面) updata.php(把数据写入数据库的页面) post.htm代码如下:

留言本

姓名:

留言:

updata.php页面代码如下: $name=$_POST['user_name']; $content=$_POST['post_contents'];

$conn=mysql_connect(\"localhost:6033\

mysql_query(\"set names utf-8\"); //解决中文乱码问题 mysql_select_db(\"guest_book\");

$exec=\"insert into contents (name,content) values

('\".$_POST['user_name'].\"','\".$_POST['post_contents'].\"')\"; $result=mysql_query($exec); ?>

index.php页面代码如下: $conn=mysql_connect (\"localhost:6033\打开mysql 服务器连接 mysql_select_db(\"guest_book\"); //链接数据库

mysql_query(\"set names utf-8\"); //解决中文乱码问题 $exec=\"select * from contents\"; //sql语句

$result=mysql_query($exec); //执行sql语句,返回结果 while($rs=mysql_fetch_object($result)) {

echo \"

\";

echo \"

姓名:\".$rs->name.\"
留言:\".$rs->content.\"

\"; }?>

至于分页,页面转向等功能暂时不用上去.为得就是使程序尽量精简.麻雀虽小.但是留言本的核心功能全在这里了. 其中还需要再多说几句

$conn=mysql_connect (\"localhost:6033\

这一句很重要 一开始我用的是 $conn=mysql_connect (\"127.0.0.1\

怎么弄都不见数据进数据库去~~~~但是又没报错~~后来看了半天才知道 原来哪个127的地方应该在PHPMYADMIN里看服务器名一击数据库端口是什么~~~还有ROOT那里就是mysql用户名了,后面的是密码 还有个问题就是 汉字乱码问题

在$result=mysql_query($exec); 语句前面加上mysql_query(\"set names gb2312\");或者mysql_query(\"set names utf-8\");

可疑防止提交进数据库的汉字以乱码形式存放在数据库中 以及防止 从数据库中查询出来的包含汉字的数据以乱码显示

有时候尽管这样设置了后还是无法正常显示汉字~~~~

我就遇见了这样的情况,由于我是在本地调试的,每次都要把浏览器上的那个字符编码调到utf-8才能正常显示汉字

默认的编码总是ISO-8859-1 于是google了一下`~原来是apache设置不对.于是找到 httpd.conf 设置文件

把 default-character-set=ISO-8859-1 改为 default-character-set=utf-8

然后再 service httpd restart 重启appache 清除所有cookies与历史记录~~~然后问题就解决了

------------------------------------------------------------------------------------

今天再稍微改善下加一个管理员管理留言的功能~~~这里最主要要用到

$_SESSION['item'] 这个东东~~` 好了`~`先把昨天的稍微改一下 再把这个功能加进去~~~

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

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

留言本

留言管理 $conn=mysql_connect (\"localhost:6033\打开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 \"

\";

echo \"

姓名:\".$rs->name.\"
留言:\".$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\

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\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\mysql_select_db(\"guest_book\"); $exec=\"select * from contents\"; $result=mysql_query($exec);

while($rs=mysql_fetch_object($result)) {

echo \"

\";

echo \"

姓名:\".$rs->name.\"
留言:\".$rs->content.\"

\"; echo \"id.\" >修改 id.\" >删除\"; }

echo \"




回首页\"; }

mysql_close(); ?>

这 里最主要是这一句echo \"id.\" >修改 id.\" >删除\";

用来向所连接到的地址传递参数~~看看下面的就知道有什么用了 modify.php session_start();

if($_SESSION['admin']==\"OK\") {

$conn=mysql_connect (\"localhost:6033\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; ?>

ID : > 姓名:

留言:

mysql_close(); ?>

这里这个 其实就等于 echo $id

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

if($_SESSION['admin']==\"OK\") {

$conn=mysql_connect (\"localhost:6033\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\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...\";

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- cepb.cn 版权所有 湘ICP备2022005869号-7

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务