初始化脚本作用:检测运行环境,并进行相应的处理 
比如判断魔术引号有没有开,并对$_POST数据做处理
比如判断当前是开发环境还是生产环境,设置合理的错误报告.
*/define('ROOT','D:/www/tieba/'); // 定义根路径常量
require(ROOT . 'include/config.inc.php');
require(ROOT . 'include/mysql.func.php');// 检测当前是开发环境 还是 生产环境
if(defined('DBBUG')) {
 error_reporting(E_ALL);
} else {
 error_reporting(0);
}// 检测魔术引号没有开启,如没开启,则递归对$_POST,$_GET,$_COOKIE进行转义
if(!get_magic_quotes_gpc()) {
 function _addslashes(&$v,$k) {
 $v = addslashes($v);
 } array_walk_recursive(&$_GET,'_addslashes');
 array_walk_recursive(&$_POST,'_addslashes');
 array_walk_recursive(&$_COOKIE,'_addslashes');
}// 连接数据库
$conn = mysql_connect($_CFG['host'],$_CFG['user'],$_CFG['passwd']);
if(!$conn) {
 exit('数据库连接出错');
}$sql = 'use ' . $_CFG['db'];
mysql_query($sql,$conn);?>
<?php
require('./include/init.php');// 第一步:接收数据
// print_r($_POST);// 第二步:检测数据
if(trim($_POST['username']) == '') {
 exit('用户名不能为空');
}if(trim($_POST['title']) == '') {
 exit('标题不能为空');
}if(trim($_POST['content']) == '') {
 exit('内容不能为空');
}/*
时间戳是什么?
答:时间戳是1970-01-01 00:00:00 --->当前这一瞬间所经历的秒数怎么得到时间戳,
答: time()函数
*/// 第3步,拼接sql.
// 拼接sql是一个难度小,但很繁琐的事情,极易出错,要小心拼接.
// 到后面,做商城项目时,我们会完成sql语句的自动拼接.
$time = time();
$sql = "insert into thread (username,title,content,pubtime) values ('" . $_POST['username'] . "','" . $_POST 
['title'] . "','" . $_POST['content'] . "'," . time() . ")";
// echo $sql;/*
一个有用的函数
mysql_insert_id();
返回表中 auto_increment列刚刚产生的最大值
插入后要立即调用该函数,否则可能得到意外的结果.表注意:表中必有auto_increment列,才能用这个函数,否则只返回0,没有效果
*/ 
// 第4步 ,执行sql
if(!mysql_query($sql,$conn)) {
 exit('发帖失败');
} else { $tid = mysql_insert_id($conn);
 $script = <<<EOT
 <script type="text/javascript">
 alert('发帖成功');
 window.location.href = 'tie.php?tid=$tid';
 </script>
EOT; echo $script;
} 
?>