作为一个php开发人员,我有时被要求作个shoutbox 。 如果同样的事情也发生在你身上,这里有一个快速指南。显然,您要为它添加您自己的css在上面,但这里是基本思路。
我们需要一个mysql数据库表和三个php文件。
首先,我们需要一个文件保存数据库信息
--- 文件 #1:mysql.inc.php---
创建一个有四个字段的数据表. 我们命名为shouts. 此前可能你没有这个sql文件, 创建一个php文件install.php. 这个文件用过一次之后,记得要删除它!
-- 文件 #2: install.php--
simply shouting - 安装
你的安装过程已经完成. 请立即从你的服务器上删除所有安装文件. 本程序包含以下安装文件:
1) install.php
点击 这里开始.
这是主文件:
--- 文件 #3: index.php---
# simply shouting - ashoutboxexample
# file name: index.php
# description: main page to display our shouts.
//包含数据库信息
include_once(mysql.inc.php);
//连接数据库
$connection= @mysql_connect($host,$user,$password) or die(mysql_error());
$db= @mysql_select_db($name,$connection) or die(mysql_error());
?>
// 显示最新10条留言. 首先,初始化一个计数器
$counting=0;// we need a counter because i want to show our shouts in asc order
// (like a chat room)
$sql=mysql_query(select * from `shouts`);
while($data=mysql_fetch_array($sql)){
//counts every row
$counting=$counting+1;
} //end while
// if the count comes back greater than 10, then we select the last
// 10 shouts for display.
if($counting>10){
$countlessten=$counting-9;
$sql=mysql_query(select * from `shouts` order by `shouts`.`id` asc limit $countlessten,10);
}else{
//else it doesnt matter, theres less than 10!
$sql=mysql_query(select * from `shouts` order by `shouts`.`id` asc limit 10);
}
while($data=mysql_fetch_array($sql)){
//my timestamp field in the database is basically useless to me unless
//i parse it. the following code parses the timestamp into things i
//can use.
$timestamp=$data[timestamp];
$postedyear=substr($timestamp,0,4);
$postedmonth=substr($timestamp,5,2);
$postedday=substr($timestamp,8,2);
$postedtime=substr($timestamp,11,5);
$newpostedtime=;
$nomilitary=substr($postedtime,0,2);
// the hour is greater than 12, so we need to switch back to 1-12 and
// add a pm
if($nomilitary>=13){
$nomilitary=$nomilitary-12;
$newpostedtime=$nomilitary;
$newpostedtime.=:;
$newpostedtime.=substr($postedtime,3,2) ;
$newpostedtime.= pm;
}
if($newpostedtime!=){
$postedtime=$newpostedtime;
}else{
$postedtime.= am;
}
//now that we have the time, lets get the shout and the shouter
$shoutby=$data[shoutby];
$shout=$data[shout];
echo$postedmonth./.$postedday./.$postedyear. at .$postedtime. - .$shoutby. said: .$shout.
;
// looks like: 12/1/2008 at 5:02pm - josh said: yo yo yo!
}
//below is the html form for creating the shouts
?>
最后, 我们需要一个 php 文件处理表单.
-- 文件#4: newshout.php--
# simply shouting - ashoutboxexample
# file name: newshout.php
# description: process the html form on index.phpand redirect.
//得到留言者姓名
$shoutby=$_post[shoutby];
if($shoutby==enter your name here||$shoutby==){
//如果没有输入名字
$shoutby=visitor;
}
if($_post[shout]){
// 留言信息
if($_post[shout] !=click & shout!){
//they didnt shout the default, so continue processing
$shout=$_post[shout];
//替换掉以阻止黑客
$shout=str_replace( $shout=str_replace(>, ,$shout);
// 包含数据信息
include_once(dbaccess.php);
// 连接数据库
$connection= @mysql_connect($host,$user,$password) or die(mysql_error());
$db= @mysql_select_db($name,$connection) or die(mysql_error());
// 插入留言信息到数据库
$sql=insert into `shouts`(`shoutby`,`shout`) values($shoutby,$shout);
//关闭连接
$result= @mysql_query($sql,$connection);
}
}
?>
http://www.bkjia.com/phpjc/508218.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/508218.htmltecharticle作为一个php开发人员,我有时被要求作个shoutbox 。 如果同样的事情也发生在你身上,这里有一个快速指南。显然,您要为它添加您自己的...