我的论坛源代码(五)

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>

(0)

相关推荐

  • 我的论坛源代码(五)

    okey.php主要处理用户登录和发布的信息处理 <? if ($username)                       //是否有用户信息 $useinfo=$username."|".$userpass; setcookie("FlyFoxNet",$useinfo,time()+3600); if ($d==q) setcookie("FlyFoxNet");     //如果是退出的话,把COOKIE置为空 ?> &l

  • 我的论坛源代码(一)

    其实写这几篇代码的时间不过近三天而已,事前即没有经过详细思考和计划(可以说一点计划都没有)那天想起做个论坛试试,于是就做起来了,而我也是才接触了将近一个月时间的PHP,以前也没真正写过程序之类的东东,在写这段代码的两天半时间里,有好几次遇到困难,都想放弃,但是我还是写出来了,而且没想到居然能用,所以中间可能有很多隐患也说不清,虽然说是可以用了. 再过两天,我就要去上班,也没时间再仔细地从头到尾检查这些代码了,这也是我放上来的原因之一,还有一个原因是,因为我想让大家一起来看看这些字符,我只是个菜鸟

  • 我的论坛源代码(二)

    主界面,也就是显示主题列表的这页. //foxbbs.php 功能:显示论坛的主题 <HTML> <HEAD> <TITLE>狐网论坛</TITLE> <STYLE type=text/css> P {FONT-FAMILY: normal; FONT-SIZE: 9pt; LINE-HEIGHT: 14pt} DIV {FONT-FAMILY: normal; FONT-SIZE: 9pt; LINE-HEIGHT: 14pt} </ST

  • 我的论坛源代码(八)

    reguse.php用户注册与登录页面 <? if ($action==dl&&$uname) { $uinfo=$uname."|".$upass; setcookie("FlyFoxNet",$uinfo,time()+3600); } ?> <html> <head> <title>用户注册</title> <meta http-equiv="Content-Type&

  • 模仿OSO的论坛(五)

    在前面的post.php及reply.php中,在发言提交成功后都跳转到一个叫post_end.php的页面,这个页面主要是提示发言提交成功,并给出了一个到faq.php的链接,程序非常简单,我就一并写在下面了: <html> 你的发言已提交<br> <a href="faq.php">返回疑难问题首页</a> </html>     在这一节中,我们将着力讨论如果实现我们在开头所列出的本论坛所缺少的八项功能:     1.在

  • 我的论坛源代码(四)

    POST.PHP发布主题的页面,发布的信息提交到OKEY.PHP中去处理. <html> <head> <title>论坛发帖</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <STYLE type=text/css> P {FONT-FAMILY: normal; FONT-SIZE: 9

  • 我的论坛源代码(十)

    reguse.inc.php处理注册用户时的信息 <? function regok($mess,$reginfo)       //记录成功后输出用户信息 { echo "<table width='70%' border='0' cellspacing='0' cellpadding='0' bgcolor='#000000' align='center'>"; echo "<tr><td><table width='100

  • 我的论坛源代码(三)

    显示主题内容页面. <HTML> <HEAD> <TITLE>狐网论坛</TITLE> <STYLE type=text/css> P {FONT-FAMILY: normal; FONT-SIZE: 9pt; LINE-HEIGHT: 14pt} DIV {FONT-FAMILY: normal; FONT-SIZE: 9pt; LINE-HEIGHT: 14pt} </STYLE> <LINK href="js/c

  • 我的论坛源代码(九)

    <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <STYLE type=text/css> P {FONT-FAMILY: normal; FONT-SIZE: 9pt; LINE-HEIGHT: 14pt} DI

  • 我的论坛源代码(六)

    repal.php回复用的页面,因为回复可以不必要是用户,所以没加用户身份校验 <html> <head> <title>回复论题:<? echo $zt;?></title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <STYLE type=text/css> P {FONT-FAMIL

随机推荐