okey.php主要處理用戶登錄和發布的信息處理
<?
if ($username) //是否有用戶信息
$useinfo=$username."|".$userpass;
setcookie("FlyFoxNet",$useinfo,time()+3600);
if ($d==q) setcookie("FlyFoxNet"); //如果是退出的話,把COOKIE置為空
?>
<HTML><HEAD><TITLE>發表文章</TITLE>
<LINK href="js/cpcw.css" rel=stylesheet /LINK>
<?
include "linkfox.inc.php";
include "info.inc.php";
function postf($useinfo,$title,$message) //發帖信息處理
{
$query="select * from foxbbs order by id desc limit 1";
$row=@mysql_query($query);
$info=@mysql_fetch_array($row);
if ($useinfo[2]==$info[1]&&$title==$info[3]) //檢查最近一條信息是否和當前信息一樣。
echo "<script language='JavaScript'> alert('請勿重復發帖,謝謝合作!'); </script>";
else{
$time=date(Y年n月j日G時i分);
$filename=date(YmjGis); //文件名取當前的時間
$gip=getenv("REMOTE_ADDR"); //寫入信息
$query="insert into foxbbs (usename,ftbq,title,ftdate,mesname,djnum,hfnum,ip) values ('".$useinfo[0]."','".$useinfo[14]."','".$title."','".$time."','".$filename."',1,0,'".$gip."')";
$req=@mysql_query($query);
if ($req) { //如果寫入成功,則給用戶發帖數加一,建立內容文件
$query="select ftnum from useinfo where usename='".$useinfo[0]."'";
$req=@mysql_query($query);
$ftnum=@mysql_fetch_array($req);
$ftnum=$ftnum[0]+1;
$query="update useinfo set ftnum='$ftnum' where usename='".$useinfo[0]."'";
$req=@mysql_query($query);
$ft=$filename;
$fp=fopen($ft,"w"); //把所有的"<",">"符號轉換成"<","&rt;"可以去除HTML標記,好像有個函數可以直接去除,但我記不到了,也沒在參考手冊裡查到,所以用個笨法子了。
$message=str_replace("<","<",str_replace(">",">",$message));
$message=nl2br($message); //先去除符號再變換行,免得換行符也變成字符顯示出來。
$f=fputs($fp,$message);
$fp=@fclose($fp);
echo "<script language='JavaScript'> alert('".$useinfo[2]."!恭喜你,發貼成功!'); </script>";
}
else {
echo "<script language='JavaScript'> alert('非常報歉,因數據庫原因,你的帖子沒能保存!'); </script>";
}
}
}
function userr($username,$userpass,$title,$message) //用戶信息校驗函數
{
$query="select * from useinfo where usename='".$username."'";
$req=mysql_query($query);
$useinfo=mysql_fetch_array($req);
if ($useinfo[0]==$username)
{
//如果通過校檢就調用信息處理函數
if ($userpass==$useinfo[1]) {postf($useinfo,$title,$message);return $useinfo;}
else {
echo "<script language='JavaScript'> alert('密碼不正確,請檢查!'); </script>";
echo "<meta HTTP-EQUIV='REFRESH' CONTENT='2;URL=post.php'>";
}
}
else
{
echo "<script language='JavaScript'> alert('用戶不存在,請確認已注冊!'); </script>";
}
}
?>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<meta HTTP-EQUIV="REFRESH" CONTENT="2;URL=foxbbs.php">
</head><body topmargin="0">
<?
$tem=$HTTP_COOKIE_VARS[FlyFoxNet];
$temp=explode("|",$tem);
$cookiem=$temp[0];
$useinfo=cuser($cookiem,$action);
if (isset($message))
{
if($username)
{
$useinfo=userr($username,$userpass,$title,$message);
}
else if($useinfo) {
userr($useinfo[0],$useinfo[1],$title,$message);
}
else {echo "<script language='JavaScript'> alert('你不是合法用戶,不能在此論壇發帖!'); </script>";}
}
if ($d==q)
{
echo "<script language='JavaScript'> alert('你已退出登錄狀態,將以游客身份返回論壇'); </script>";
}
?>
<br><br><br><br><br>
<div align="center"><a href=foxbbs.php>如果系統未自動返回頁面,請點擊這裡反回.</a></div>
</body>
</html>