留言板php ajax,php ajax 留言板

本文介绍了一款国人开发的PHP+AJAX实现的留言板,使用jQuery、PHP和MySQL,通过AJAX实现实时局部刷新。教程包括验证输入、格avatar头像和数据库结构,适合学习者实践Ajax应用。

php ajax 留言板提供一款国人写的php ajax 留言板,他是利用了jquery php mysql ajax来实现php ajax 局部刷新留方板实例的喜欢就下载吧。

php教程 ajax 留言板

提供一款国人写的php ajax 留言板,他是利用了jquery php mysql教程 ajax来实现php ajax 局部刷新留方板实例的喜欢就下载吧。

*/

$link = @mysql_connect($db_host,$db_user,$db_pass) or die('unable to establish a db connection');

mysql_query("set names 'utf8'");

mysql_select_db($db_database,$link);

class comment

{

private $data = array();

public function __construct($row)

{

/*

/ the constructor

*/

$this->data = $row;

}

public function markup()

{

/*

/ this method outputs the xhtml markup of the comment

*/

// setting up an alias, so we don't have to write $this->data every time:

$d = &$this->data;

$link_open = '';

$link_close = '';

if($d['url']){

// if the person has entered a url when adding a comment,

// define opening and closing hyperlink tags

$link_open = '';

$link_close = '';

}

// converting the time to a unix timestamp:

$d['dt'] = strtotime($d['dt']);

// needed for the default gravatar image:

$url = 'http://'.dirname($_server['server_name'].$_server["request_uri"]).'/img/default_avatar.gif';

return '

'.$link_open.'

'.md5(%24d%5B'email'%5D).'?size=50&default='.urlencode(%24url).'

'.$link_close.'

'.$link_open.$d['name'].$link_close.'

'.date('d m y',$d['dt']).'

'.$d['body'].'

';

}

public static function validate(&$arr)

{

/*

/ this method is used to validate the data sent via ajax.

/

/ it return true/false depending on whether the data is valid, and populates

/ the $arr array passed as a paremter (notice the ampersand above) with

/ either the valid input data, or the error messages.

*/

$errors = array();

$data = array();

// using the filter_input function introduced in php 5.2.0

if(!($data['email'] = filter_input(input_post,'email',filter_validate_email)))

{

$errors['email'] = 'please enter a valid email.';

}

if(!($data['url'] = filter_input(input_post,'url',filter_validate_url)))

{

// if the url field was not populated with a valid url,

// act as if no url was entered at all:

$url = '';

}

// using the filter with a custom callback function:

if(!($data['body'] = filter_input(input_post,'body',filter_callback,array('options'=>'comment::validate_text'))))

{

$errors['body'] = 'please enter a comment body.';

}

if(!($data['name'] = filter_input(input_post,'name',filter_callback,array('options'=>'comment::validate_text'))))

{

$errors['name'] = 'please enter a name.';

}

if(!empty($errors)){

// if there are errors, copy the $errors array to $arr:

$arr = $errors;

return false;

}

// if the data is valid, sanitize all the data and copy it to $arr:

foreach($data as $k=>$v){

$arr[$k] = mysql_real_escape_string($v);

}

// ensure that the email is lower case:

$arr['email'] = strtolower(trim($arr['email']));

return true;

}

private static function validate_text($str)

{

/*

/ this method is used internally as a filter_callback

*/

if(mb_strlen($str,'utf8')<1)

return false;

// encode all html special characters (, ", & .. etc) and convert

// the new line characters to

tags:

$str = nl2br(htmlspecialchars($str));

// remove the new line characters that are left

$str = str_replace(array(chr(10),chr(13)),'',$str);

return $str;

}

}

$comments = array();

$result = mysql_query("select * from comments order by id asc");

while($row = mysql_fetch_assoc($result))

{

$comments[] = new comment($row);

}

?>

simple ajax commenting system | tutorialzine demo

/*

/ output the comments one by one:

*/

foreach($comments as $c){

echo $c->markup();

}

?>

add a comment

your name

your email

website (not required)

comment body

数据库教程结构

--

-- table structure for table `comments`

--

create table `comments` (

`id` int(10) unsigned not null auto_increment,

`name` varchar(128) collate utf8_unicode_ci not null default '',

`url` varchar(255) collate utf8_unicode_ci not null default '',

`email` varchar(255) collate utf8_unicode_ci not null default '',

`body` text collate utf8_unicode_ci not null,

`dt` timestamp not null default '0000-00-00',

primary key (`id`)

) engine=myisam default charset=utf8 collate=utf8_unicode_ci;

源码下载

http://down.php100.com/down/code/php/liuyanboke/2010/1028/21479.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值