php+mysql简单留言板
- 格式:doc
- 大小:28.50 KB
- 文档页数:3
php+mysql最简单的留⾔板学完了记得动⼿操作。
(未过滤)<html><body><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head><form method = "post" action = "post.php">欢迎来到我的留⾔板!<br>name:<input type = "text" name = "name"><br>email:<input type = "text" name = "email"><br>content:<br><textarea rows="10" cols="20" name="content"></textarea><input type = "submit"></form></body></html><?phpheader("Content-type: text/html; charset=utf-8");$con = mysql_connect("***","***","***");if (!$con){die('Could not connect: ' . mysql_error());}//connect tablemysql_query("SET NAMES utf8");mysql_select_db("message",$con);$sql = "CREATE TABLE message(id int NOT NULL AUTO_INCREMENT,PRIMARY KEY(id),name varchar(15),email varchar(15),content varchar(100))";//mysql_query($sql,$con);$name = $_POST['name'] ;$email = $_POST['email'];$content = $_POST['content'];$sql1 = "INSERT INTO message(name,email,content)VALUES( '$name', '$email','$content')";mysql_query($sql1,$con);echo "<table border='1'><tr><th>id</th><th>name</th><th>email</th><th>content</th></tr>";$result = mysql_query("SELECT * FROM message");while($row = mysql_fetch_array($result)){echo "<tr>";echo "<td>" . $row['id'] . "</td>";echo "<td>" . $row['name'] . "</td>";echo "<td>" . $row['email'] . "</td>";echo "<td>" . $row['content'] . "</td>";echo "</tr>";}echo "</table>";mysql_close($con);?>中途遇到⼀个bugmysql_fetch_array(): supplied argument is not a valid MySQL result resource定位到该函数。
PHP实现的简单留⾔板功能⽰例【基于thinkPHP框架】本⽂实例讲述了PHP实现的简单留⾔板功能。
分享给⼤家供⼤家参考,具体如下:⼊⼝⽂件⽂件名 index.php<?php// 应⽤⼊⼝⽂件// 检测PHP环境if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !');// 开启调试模式建议开发阶段开启部署阶段注释或者设为falsedefine('APP_DEBUG',True);//开发调试模式//define('APP_DEBUG',false);//⽣产模式// 定义应⽤⽬录define('APP_PATH','./Message/');// 引⼊ThinkPHP⼊⼝⽂件require './ThinkPHP/ThinkPHP.php';// 亲^_^ 后⾯不需要任何代码了就是如此简单配置⽂件⽂件名 config.php<?phpreturn array(//'配置项'=>'配置值''SHOW_PAGE_TRACE'=>true,'DB_TYPE' => 'mysqli', // 数据库类型'DB_HOST' => '127.0.0.1', // 服务器地址'DB_NAME' => 'msg', // 数据库名'DB_USER' => 'root', // ⽤户名'DB_PWD' => 'root', // 密码'DB_PORT' => '3306', // 端⼝'DB_PREFIX' => 'ms_', // 数据库表前缀);控制器⽂件名 MsgController.class.php<?phpnamespace Home\Controller;use Think\Controller;use Think\Model;class MsgController extends Controller{public function index(){$msg = D('Msg');$info = $msg->order('id DESC')->select();$this->assign('info',$info);$this->display();}public function sendMsg(){$msg = new \Home\Model\MsgModel();if (!empty($_POST)){$data = $msg->create();if($data){$data['user_hobby'] = implode(',',$data['user_hobby']);$z = $msg->add($data);if ($z){$this->redirect('Msg/sendMsg');}}else{$this->assign('errorInfo',$msg->getError());}}$this->display();}public function upd($id){$msg = D('Msg');if (!empty($_POST)){$z = $msg->save($_POST);if ($z){$this->redirect('index',array(),2,'修改成功');}else{$this->redirect('upd',array('id'=>$id),2,'修改失败');}$info = $msg->find($id);$this->assign('info',$info);$this->display();}}public function addMsg(){$msg = D('Msg');if (!empty($_POST)){$z = $msg->add($_POST);if ($z){$this->redirect('index',array(),2,'添加成功');}else{$this->redirect('addMsg',array(),2,'添加失败');}}else{$this->display();}}public function del($id){if(D('Msg')->delete($id)){$this->success('成功',U('index'),2);}else{$this->error('失败',U('index'),2);}}}模板⽂件名 MsgModel.class.php<?phpnamespace Home\Model;use Think\Model;class MsgModel extends Model{//是否批量验证protected $patchValidate = true;protected $_validate = array(array('title','require','标题不能为空!'), //默认情况下⽤正则进⾏验证array('user','require','留⾔⼈不能为空!'),array('msg','require','内容不能为空!'),);protected $_auto = array (array('status','1'), // 新增的时候把status字段设置为1array('id','NULL'),array('admin_user','ms'),array('replay','NULL'),array('update_time','time',3,'function'), // 对update_time字段在更新的时候写⼊当前时间戳 array('send_msg_time','time',3,'function'),);}视图⽂件名 addMsg.html<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title></head><body><div><form action="__SELF__" method="post" ><table border="1" width="100%" class="table_a"><tr><td>留⾔时间</td><td><input type="text" name="update_time"/></td></tr><tr><td>留⾔⼈</td><td><input type="text" name="user" /></td></tr><tr><td>标题</td><td><input type="text" name="title" /></td><td>内容</td><td><input type="text" name="msg" /></td></tr><tr><td>回复</td><td><textarea name="replay"></textarea></td></tr><tr><td colspan="2" align="center"><input type="submit" value="添加"><a href="__CONTROLLER__/index" rel="external nofollow" rel="external nofollow" ><input type="button" value="返回"></a></td></tr></table></form></div></body></html>视图⽂件名 index.html<!DOCTYPE html><html xmlns="/1999/xhtml"><head><title>留⾔列表 -- HoverTree</title><style>.keleyitable {width: 800px;}.keleyitable table, td, th {border: 1px solid green;margin-top:10px;}.klytd {width:100px;text-align:right}.hvttd {width:500px}</style></head><body><div style="margin:0px auto;" class="keleyitable"><h2>留⾔列表</h2><tr><td class="klytd"><a href="__CONTROLLER__/addMsg" rel="external nofollow" >添加</a></td><td class="hvttd"></td></tr><volist name="info" id="vo"><table><tr><td class="klytd">留⾔时间:</td><td class="hvttd">{$vo.update_time|date="Y-m-d H:i:s",###}</td></tr><tr><td class="klytd">留⾔⼈:</td><td class="hvttd">{$er}</td></tr><tr><td class="klytd">标题:</td><td class="hvttd">{$vo.title}</td></tr><tr><td class="klytd">内容:</td><td class="hvttd">{$vo.msg}</td></tr><tr><td class="klytd">回复:</td><td class="hvttd">{$vo.replay}</td></tr></table><tr><td class="klytd"><a href="__CONTROLLER__/upd/id/{$vo.id}" rel="external nofollow" >修改</a></td><td class="hvttd"></td></tr><tr><td class="klytd"><a href="__URL__/del/id/{$vo.id}" rel="external nofollow" >删除</a></td><td class="hvttd"></td></tr></volist></div><div style="width:800px;margin:10px auto;font-family:Arial, Helvetica, sans-serif;text-align:center;">HoverTree © 2014 </div> <!--最近打算开发⼀个留⾔板,的开源项⽬, --></body></html>视图⽂件名 sendMsg.html<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title></head><body><form action="" method="post">标 题: <input type="text" name="title"><span style="color:red;">{$errorInfo.title}</span><br><br>信 息: <input type="text" name="msg"><span style="color:red;">{$errorInfo.msg}</span><br><br>留⾔⼈: <input type="text" name="user"><span style="color:red;">{$er}</span><br><br><input type="submit" value="提交"></html>视图⽂件名 upd.html<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title></head><body><div><form action="__SELF__" method="post" ><input type="hidden" name="id" value="{$info.id}"><table border="1" width="100%" class="table_a"><tr><td>留⾔时间</td><td><input type="text" name="update_time" value="{$info.update_time}" /></td></tr><tr><td>留⾔⼈</td><td><input type="text" name="user" value="{$er}" /></td></tr><tr><td>标题</td><td><input type="text" name="title" value="{$info.title}" /></td></tr><tr><td>内容</td><td><input type="text" name="msg" value="{$info.msg}" /></td></tr><tr><td>回复</td><td><textarea name="replay">{$info.replay}</textarea></td></tr><tr><td colspan="2" align="center"><input type="submit" value="修改"><a href="__CONTROLLER__/index" rel="external nofollow" rel="external nofollow" ><input type="button" value="返回"></a> </td></tr></table></form></div></body></html>⽬录结构数据库 sql语句SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";SET time_zone = "+00:00";/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;/*!40101 SET NAMES utf8 */;---- 資料庫: `msg`---- ------------------------------------------------------------ 表的結構 `ms_msg`--CREATE TABLE IF NOT EXISTS `ms_msg` (`id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键',`admin_user` varchar(100) NOT NULL COMMENT '管理员',`update_time` int(10) NOT NULL COMMENT '更新时间',`status` int(2) NOT NULL COMMENT '状态',`send_msg_time` int(10) NOT NULL COMMENT '留⾔时间',`user` varchar(100) NOT NULL COMMENT '留⾔⼈',`title` varchar(100) NOT NULL COMMENT '标题',`msg` varchar(200) NOT NULL COMMENT '内容',`replay` varchar(200) NOT NULL COMMENT '回复',PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='留⾔表' AUTO_INCREMENT=19 ;---- 轉存資料表中的資料 `ms_msg`--INSERT INTO `ms_msg` (`id`, `admin_user`, `update_time`, `status`, `send_msg_time`, `user`, `title`, `msg`, `replay`) VALUES (1, 'ms', 1479449110, 1, 1479449110, '1', '拉克丝的减肥', '对⽅科⽬了', 'NULL'),(7, '', 321423432, 0, 0, 'kljflwk', 'kjsdfnlk', 'nlkdsjfn', 'kljnf'),(3, 'ms', 1479451017, 1, 1479451017, '1', '轻松的发⽣我', '沃尔沃飞', 'NULL'),(8, 'ms', 1479544687, 1, 1479544687, '', 'qwe', '', 'NULL'),(9, 'ms', 1479544693, 1, 1479544693, 'qwe', 'qwe', 'qwe', 'NULL'),(10, 'ms', 1479544970, 1, 1479544970, 'qwe', 'qwe', 'qwe', 'NULL'),(11, 'ms', 1479544979, 1, 1479544979, '12', '12', '12', 'NULL'),(12, 'ms', 1479545029, 1, 1479545029, '12', '12', '12', 'NULL'),(13, 'ms', 1479546357, 1, 1479546357, '12', '12', '12', 'NULL'),(14, 'ms', 1479547163, 1, 1479547163, '12', '12', '12', 'NULL'),(16, 'ms', 1479547667, 1, 1479547667, '12', '12', '123', 'NULL'),(17, 'ms', 2147483647, 1, 1479547682, '上来昆明3', '说的了付款', '蓝⼭咖啡', '123213');/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》及《》。
php+mysql留言板系统「完整代码及详解」php+mysql留言板系统【完整代码及详解】主要页面input.html为初始页insert.php为把输入内容送入数据库show.php显示留言板内容change.php修改留言板内容的界面del.php删除留言板内容change_ok.php修改留言板内容并送入数据库数据库的创建CREATE DATABASE GBOOK;CREATE TABLE `gbook` (`id` INT( 255 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,`name` VARCHAR( 10 ) NOT NULL ,`sex` TINYINT( 1 ) UNSIGNED NOT NULL ,`email` VARCHAR( 255 ) NOT NULL ,`info` TEXT NOT NULL ,`ip` VARCHAR( 15 ) NOT NULL ,`time_at` DATETIME NOT NULL)input.html 页面留言版insert.php 页面$mysql_server_name = "localhost";$mysql_username = "root";$mysql_password = "123456";$mysql_database = "gbook";$ip = getenv('REMOTE_ADDR');$conn = mysql_connect("localhost","root","123456");mysql_select_db("gbook");$sql = "INSERT INTO `gbook` ( `id` , `name` , `sex` , `email` , `info` , `ip` , `time_at` )VALUES (NULL , '$name', '$sex', '$email', '$info', '$ip', NOW( ))";$result = mysql_query($sql,$conn);$id = mysql_insert_id();mysql_close($conn);?>留言成功去留言页show.php 页面$mysql_server_name = "localhost";$mysql_username = "root";$mysql_password = "123456";$mysql_database = "gbook";$sql = "SELECT * FROM gbook ORDER BY 'id' DESC"; //排序后留言的在前面显示$conn = mysql_connect($mysql_server_name,$mysql_username,$m ysql_password);mysql_select_db($mysql_database,$conn);$result = mysql_query($sql);while($row = mysql_fetch_row($result)) { // ----if语句判断男女------if($row[2]==1){ $gender = '男';}else{ $gender = '女'; }?>()">[修改] ">[删除]。
【转帖】教你学会用PHP写带MYSQL的简单留言本通讯录默认分类2007-11-24 16:47:15 阅读297 评论1 字号:大中小订阅epie测试备注:测试环境php5+mysql51.edit.php,del.php$id无法正常得到,要用$id = $_GET['id'];2. mysql5下创建数据库的语句SQL代码Create TABLE `addr_list` (`id` int(10) unsigned NOT NULL auto_increment,`name` varchar(10) NOT NULL,`sex` tinyint(1) NOT NULL,`mobi` varchar(11) NOT NULL,`email` varchar(50) NOT NULL,`addr` varchar(50) NOT NULL,PRIMARY KEY (`id`) (转帖者留言:注意这一行代码后面一定不要习惯性的加上一个“,”)) ENGINE=MyISAM DEFAULT CHARSET=utf8;3.下面程序虽然有很多bug,但是对新手入门非常有帮助,建议阅读。
30分钟学会用PHP写带数据库的简单通讯录引用上篇文章的开场白:我接触PHP也不是很久,所以有什么不足的地方,欢迎各位指正,让大家见笑了。
这篇小教程的对象是PHP初学者,都是些最简单、最基本的东西,因此高手们可以略过哦。
为了让各位初学者提起兴趣、尽快入门,这里写的是将是最简单,最基本的PHP程序,相信你只要有一点点的PHP基础知识,10分钟之内就能把它学会。
没有PHP基础知识也没有关系,只要耐心的看,学会它也不会超过一个小时的。
我写这篇文章的目的是,和大家一起共同学习、共同进步,然后将PHP初学者们对PHP的恐惧心理驱赶到十万八千里之外,让大家增强自学PHP的信心,其实PHP并不难学,只要静下心来学,一定能够学有所成的。
PHP+MySQL写留言本留言本最基本的功能就是:1:用户写留言2:把数据写入数据库3:显示所有留言下面就开始制作我的留言本首先在PHPMYADMIN下建立一guest_book数据库然后在该数据库下建立一个contents的表该表下建立两个字段分别为name 和contentSQL语句如下: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代码如下:<html><head><meta http-equiv="Content-Type" c><title>留言本</title></head><body><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"></form></body></html>updata.php页面代码如下:<?$name=$_POST['user_name'];$content=$_POST['post_contents'];$conn=mysql_connect("localhost:6033", "root", "");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", "root", ""); //打开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 "<table><tr><td>姓名:".$rs->name."</td></tr>";echo "<tr><td>留言:".$rs->content."</td></tr></table><br/>";}?>至于分页,页面转向等功能暂时不用上去.为得就是使程序尽量精简.麻雀虽小.但是留言本的核心功能全在这里了.其中还需要再多说几句$conn=mysql_connect ("localhost:6033", "root", "");这一句很重要一开始我用的是$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<html><head><meta http-equiv="Content-Type" c><title>留言本</title></head><body><a href="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这个东西) 不是永久连接的~~`所以服务器无法在两个不同页面之间传送变量`~~唉.我一下子也说不清楚`~~还是看看这里/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?id=".$rs->id." >修改</a> <ahref=delete.php?id=".$rs->id." >删除</a>";}echo "<br><br><br><br><br><a href=index.php >回首页</a>";}mysql_close();?>这里最主要是这一句echo "<a href=modify.php?id=".$rs->id." >修改</a> <a href=delete.php?id=".$rs->id." >删除</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']."' whereid=".$_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="#####.php?var=##">aaa</a>用这个方法来传递参数同时用$_GET['var']来接收传递过来的值3: 数据修改:$exec="update tablename set item1='".$_POST['item1']."' where ...";4: 数据删除:$exec="delete from tablename where...";。
教程连载1:PhpChina留言本实例在第一期中,我们来一步一步实现一个最基本的留言本。
留言信息包括留言者,留言内容,留言时间,留言者IP。
(本文假设你已对HTML以及PHP语法比较熟练了)第一步:设计数据库新建一个数据库,打开phpMyAdmin,新建一个数据库gb,下面整理选择utf8_general_ci,然后在数据库中建一个表message,字段数为5:utf8_general_ci。
每个字段的含义:id-- 留言的编号,类型为整数型,长度是10,属性选择为unsigned是表明这个字段是无符号字段,不会有负数,所以可以存取的范围会增加一倍(因为如果原来的范围是-9 到10,那么设置为unsigned后范围则变为0到19),额外设置为auto_increment,表明这个字段是自动增加的,我们不用管插入数据时它是啥值,它会自动在最大的id的基础上自动加1,其他设置为主键。
username -- 留言者的名字,类型为字符型(关于char与varchar的区别请查看MYSQL手册),长度为100(正常人用户名不可能超过100吧,其实应该尽量减少长度,提高性能,节约空间)content-- 即留言内容,类型为text(text和blob的唯一的区别在于text不区分大小写,而blob对字符的大小写),text类型可以存足够多的数据,足够存好几篇文章了,此类型不能设置长度,否则报错。
time -- 即发布留言的时间,类型为int,长度为10,保存的数据格式是UNIX时间戳(即用PHP函数time()得到的10位数字),而不存xxxx-xx-xx这样的格式,为何这样后面或解释。
ip -- 即留言者的IP,格式为xxx.xxx.xxx.xxx,总共15个字符,所以长度设置为15。
第二步:设计界面在这我们直接偷蓝色理想的BXNA的界面( )HTML和CSS的东西就不详细讲了,不然写10期也写不完这个留言本了 (在code文件夹中有一个html文件,是单独分离出来的)第三步:开始写程序咯先要想好程序的整体构架,代码执行的流程等。
用PHP构建留言本实例用PHP构建留言本实例导语:留言板,大家都有接触过,但是要你自己用php语言来写一个的话,你会吗?以下的是店铺为大家搜集的用PHP构建一个留言本,希望对你有所帮助。
下面是配置说明:为了配置的方便,重新整理了代码,现在已经把全部的需要设置的参数都放在config.php文件里了,配置起来应该很简单,里面有详悉的说明.目标:在十分种内搞定你的留言本!1: 建立一个数据库(要主页提供数据库空间)一般的有phpMyAdmin开放源玛的前端.创建以来很简单的. 取好名字后,记得把config.php 的$db_name改成这个名字2: 建立留言数据表表(等下把config.php的$table_name改成这里你起的名字).结构为:key_liuyan int(11) auto_increment primary key, //主建,自动增加nikename varchar(20) null // 昵称subject varchar(100) null // 留言主题date_created varchar(19) // 留言时间ip_address varchar(15) // 留言人的IP地址message mediumtext null // 留言信息email_address varchar(50) null // 留言人的e-mail地址zhuye_address varchar(50) null // 留言人的主页地址huifu_biaozi int(1) default 0 // 版主回复标志huifu mediumtext null // 版主回复内容oicq varchar(20) null // 留言人的OICQ号码可以用如下的SQL来完成(本人测试通过,记得把yourtable_name改成好记点的, 当然不改也行阿)create table your_liuyan_table(key_liuyan int(11) auto_increment primary key,nikename varchar(20) null,subject varchar(100) null,date_created varchar(19) ,ip_address varchar(15),message mediumtext null,email_address varchar(50) null,zhuye_address varchar(50) null,huifu_biaozi int(1) default 0 ,huifu mediumtext null,oicq varchar(20) null)3: 建立控制表:(同样要把这里起的名字放到config.php的$table_name_control里去)结构如下:leibie varchar(20) primary key,value varchar(20) null也可以用下面的SQL语句:create table your_control_table(leibie varchar(20) primary key,value varchar(20) null)因为这是你的控制表,所以要自己加入控制记录两条;SQL语句为:插入删除密码:insert into your_control_tble( leibie, value)values (delete,'1332');插入回复密码:insert into your_control_tble( leibie, value)values (huifu,'1332');这样放进去的密码为:123,用户名为空!怎么计算密码和插入的值的关系呢?是这样的,你的密码,如123 把三位数上的各位加起来,等于6,然后把6乘以222就是密码值6*222=1332.知道了这关系,当然你可以改成其它的密码了.不过用户名要为空,,,4: 一切完成,然后只要把除了readme.txt外的文件上传就行了.post.php 文件<?phprequire('config.php');><?php$nikename=$arr_request['nikename'];if (strlen($nikename)==0){echo "<center>";echo "<h2><font color=red>错误信息!</font></h2>";echo "对不起,<font color=red>呢称</font>必须填写请重填!<br>";echo "<hr></hr>";echo "免费留言本由<a href=>小熊</a>提供技术支持";echo "</center>";exit ;}$date_now=date('Y/m/d H:i:s');$ip_address=getenv("REMOTE_ADDR");$messageold=$arr_request['message'];//$pattern="/n/";//$replacement="<br>";$message=computer_message($messageold,$hang_zifu_nu mber);$subjectold=$arr_request['subject'];if (strlen($subjectold)>$hang_zifu_number)$subject=computer_message($subjectold,$hang_zifu_numb er);else$subject=$subjectold;$str_sql=" insert into $table_name(nikename,subject,date_created,ip_address,message,email_a ddress,zhuye_address,oicq)values( '$nikename','$subject','$date_now','$ip_address','$message','".$arr_request['email_address']."','".$arr_request['zhuye_address']."','".$arr_request['oicq']."')";$result=mysql_db_query($db_name,$str_sql,$id_link);if (! $result){affy_error_exit('SQL Insert Execution has failed.');}else{echo "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">";echo "<HTML><HEAD><TITLE>发表文章</TITLE>";echo "<META content="text/html; charset=gb2312" http-equiv=Content-Type>";echo "<meta HTTP-EQUIV="REFRESH" CONTENT="2;URL=display.php">";echo "</head><body topmargin="0"><br>";。