首页 > php框架 > php ajax 留言板

php ajax 留言板

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

php教程 ajax 留言板
提供一款国人写的php ajax 留言板,他是利用了jquery php php教程 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 dont 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 = <a href=".$d[url].">;
   $link_close =  </a>;
  }
  
  // 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
  
   <div class="comment">
    <div class="avatar">
     .$link_open.
     <img src="http://www.gravatar.com/avatar/.md5($d[email]).?size=50&amp;default=.urlencode($url)." />
     .$link_close.
    </div>
    
    <div class="name">.$link_open.$d[name].$link_close.</div>
    <div class="date" title="added at .date(h:i on d m y,$d[dt]).">.date(d m y,$d[dt]).</div>
    <p>.$d[body].</p>
   </div>
  ;
 }
 
 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 <br> 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);
}

?>

<!doctype html public "-//w3c//dtd xhtml 1.0 strict//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title>simple ajax commenting system | tutorialzine demo</title>

<link rel="stylesheet" type="text/php教程" href="styles.css" />

</head>

<body>

 


<div id="main">

<?php

/*
/ output the comments one by one:
*/

foreach($comments as $c){
 echo $c->markup();
}

?>

<div id="addcommentcontainer">
 <p>add a comment</p>
 <form id="addcommentform" method="post" action="">
     <div>
         <label for="name">your name</label>
         <input type="text" name="name" id="name" />
           
            <label for="email">your email</label>
            <input type="text" name="email" id="email" />
           
            <label for="url">website (not required)</label>
            <input type="text" name="url" id="url" />
           
            <label for="body">comment body</label>
            <textarea name="body" id="body" cols="20" rows="5"></textarea>
           
            <input type="submit" id="submit" value="submit" />
        </div>
    </form>
</div>

</div>

<script type="text/php教程" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="script.js"></script>

</body>
</html>

php教程结构

--
-- 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;

php教程下载

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


本文地址:http://www.phprm.com/frame/php1005147.html

转载随意,但请附上文章地址:-)

标签:none

发表留言