没有合适的资源?快使用搜索试试~ 我知道了~
首页无验证的论坛回复源代码解析
本篇文章主要讨论的是一个论坛网站中的"repal.php"页面源代码,它用于处理用户回复功能。该页面的设计重点在于允许非用户进行回复,因此省略了用户身份验证这一环节。页面的基本结构包括HTML头部元素,如标题标签<title>,以及字符编码设置<meta>,确保了页面内容的正确显示。 在CSS部分,代码定义了页面内文字的样式,设置了段落(P)和分隔符(DIV)的字体家族、大小和行高,以保持一致的阅读体验。链接<link>标签引入了外部样式表"js/cpcw.css",进一步定制了页面的外观。 PHP代码部分是关键,其中定义了两个函数。`functionyy($f)`用于读取并处理文件内容,将全角空格替换为半角,并去掉前后多余的空白字符,以确保回复内容的格式整洁。`functionmesput($query,$use,$id)`则负责执行数据库操作,通过MySQL查询来保存用户的回复。如果查询成功,页面会弹出提示消息,然后重定向到dispbbs.php页面,显示出回复的论题。如果查询失败,页面会提供一个备用链接让用户手动跳转。 需要注意的是,由于代码中存在一个未完成的JavaScript字符串,可能是开发者在编写时遗漏的部分,这可能会影响实际的页面交互或导致潜在的安全漏洞。在实际开发中,这种情况下应该确保所有脚本都被完整且正确地关闭,以避免意外的行为。 这篇文章深入剖析了一个论坛回复功能的核心代码,展示了如何处理用户输入、样式控制以及与数据库的交互,对于理解论坛系统后台工作原理和技术实现具有一定的参考价值。
资源详情
资源推荐
我的论坛源代码我的论坛源代码(六六)
repal.php回复用的页面,因为回复可以不必要是用户,所以没加用户身份校验
<html>
<head>
<title>回复论题:<? echo $zt;?></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}
DIV {FONT-FAMILY: normal; FONT-SIZE: 9pt; LINE-HEIGHT: 14pt}
</STYLE>
<LINK href="js/cpcw.css" rel=stylesheet /LINK>
<?php
include "linkfox.inc.php"; //包含进文件
include "info.inc.php";
function yy($f)
{
$oldmess=@file($f); //引用原文处理
for ($i=0;$i<count($oldmess);$i++)
{
if (ord(substr($oldmess[$i],0,1))==161) //第一位是否全角空格
$mess=$mess.$oldmess[$i];
else $mess=$mess." ".trim($oldmess[$i]);
}
return $mess;
}
function mesput($query,$use,$id)
{
$req=mysql_query($query);
if ($req)
{
echo "<script language=’JavaScript’> alert(‘谢谢你的回复!系统将返回论题!’); </script>";
echo "<script language=’JavaScript’> javascript:location.href=’dispbbs.php?id=".$id."&use=".$use."’; </script>;";
echo "<div align=’center’><a href=’dispbbs.php?id=".$id."&use=".$use."’>如果系统没有反应,请点击</a></a>";
}
else
echo "<script language=’JavaScript’> alert(‘写入失败!’); </script>";
}
function usehf($message,$useinfo,$id,$use,$ft,$mess,$c) //用户回复就直接从表里调出用户信息
{
$query="select * from useinfo where usename=’".$useinfo[0]."’";
$req=mysql_query($query);
if ($req)
{
$useinfo=mysql_fetch_array($req);
$fo=fopen($ft,"a");
$message=str_replace("<","<",str_replace(">",">",$message));
$message=nl2br($message);
$gip=getenv("REMOTE_ADDR");
$messages=$message."ㄞㄚㄓ".$useinfo[2]."ㄞㄚㄓ".$useinfo[3]."ㄞㄚㄓ".$useinfo[9]."ㄞㄚㄓ".$useinfo[8]."ㄞㄚ
ㄓ".$useinfo[14]."ㄞㄚㄓ".$useinfo[11]."ㄞㄚㄓ".$time."ㄞㄚㄓ".$gip."δεζ";
if($c==dd) //如果是引用回复,加上原文内容
{
$messages="<font color=’999999′>".$mess."<div align=’center’>★原文……★……引用★</div></font>
<br>".$messages;
}
$fp=fputs($fo,$messages);
$time=date(Y年n月j日G时i分); //主题回复数加一,覆盖上一回复人与时间
$query="update foxbbs set hfnum=hfnum+1,hfname=’".$ft."’,hfusename=’".$useinfo[2]."’,hfdate=’".$time."’ where
id=’".$id."’";
mesput($query,$use,$id);
}
else
{
echo "<script language=’JavaScript’> alert(‘数据库错误:104号’); </script>";
}
}
下载后可阅读完整内容,剩余4页未读,立即下载
weixin_38743506
- 粉丝: 349
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++多态实现机制详解:虚函数与早期绑定
- Java多线程与异常处理详解
- 校园导游系统:无向图实现最短路径探索
- SQL2005彻底删除指南:避免重装失败
- GTD时间管理法:提升效率与组织生活的关键
- Python进制转换全攻略:从10进制到16进制
- 商丘物流业区位优势探究:发展战略与机遇
- C语言实训:简单计算器程序设计
- Oracle SQL命令大全:用户管理、权限操作与查询
- Struts2配置详解与示例
- C#编程规范与最佳实践
- C语言面试常见问题解析
- 超声波测距技术详解:电路与程序设计
- 反激开关电源设计:UC3844与TL431优化稳压
- Cisco路由器配置全攻略
- SQLServer 2005 CTE递归教程:创建员工层级结构
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功