设为首页 收藏本站
查看: 551|回复: 0

[经验分享] PHP的bbs实现之一

[复制链接]
发表于 2017-3-26 11:08:38 | 显示全部楼层 |阅读模式
  0.sql
  CREATE TABLE user_log (
log_idint(10) NOT NULL auto_increment,
nicker varchar(20),
passwordvarchar(10) NOT NULL,
log_count int(10),
last_timevarchar(20),
last_ip varchar(30),
arc_countint(10),
genderenum('M','W') DEFAULT 'M' NOT NULL,
level int(1),
right varchar(10),
exp_count int(10),
PRIMARY KEY (log_id),
UNIQUE log_id (log_id)
);
  CREATE TABLE user_attr (
log_id int(10) NOT NULL,
realnamevarchar(20),
email varchar(40),
addressvarchar(50),
birthday varchar(20),
oicq int(8),
last_timevarchar(20),
homepage varchar(50),
merriageenum('Y','N') DEFAULT 'N' NOT NULL,
edu_levelvarchar(8),
edu_school varchar(30),
province varchar(20),
city varchar(20),
postalcode int(6),
fond varchar(8),
present text,
PRIMARY KEY (log_id),
UNIQUE log_id (log_id)
);
  CREATE TABLE user_online (
log_idint(10) NOT NULL,
nicker varchar(20),
log_count int(10),
log_timevarchar(20),
log_ip varchar(30),
arc_countint(10),
genderenum('M','W') DEFAULT 'M' NOT NULL,
level int(1),
right varchar(10),
exp_count int(10),
PRIMARY KEY (log_id),
UNIQUE log_id (log_id)
);
  1.register.php
  <?
include "common.inc.php";
  function Checknicker($nicker) {
global $USER_LOG_TABLE;
$SQL="SELECT nicker FROM $USER_LOG_TABLE WHERE nicker='$nicker'";
$result=mysql_query($SQL) or die(mysql_error());
$row=mysql_fetch_Array($result);
$nicker=$row[nicker];
return $nicker;
}
  function AddUser() {
global $USER_LOG_TABLE;
global $id,$REMOTE_ADDR,$nicker;
global $password, $log_count, $last_time,
$last_ip, $arc_count, $gender, $level, $right,
$exp_count;
  $last_time=date("Y:m:d");
$log_count=0;
$last_ip=$REMOTE_ADDR;
$arc_count=0;
$level=9;
$right='NONE';
$exp_count=100;
$SQL="INSERT INTO $USER_LOG_TABLE (
nicker, password,log_count,last_time,last_ip,arc_count,
gender,level,right,exp_count) VALUES (
'$nicker', '$password', '$log_count', '$last_time',
'$last_ip', '$arc_count', '$gender', '$level', '$right','$exp_count')";
  mysql_query($SQL) or die(mysql_error());
$SQL="SELECT log_id FROM $USER_LOG_TABLE WHERE nicker='$nicker'";
$result=mysql_query($SQL) or die(mysql_error());
$row=mysql_fetch_Array($result);
$id=$row[log_id];
}
  if ($Ok) {
  if (!$nicker) $error="用 户 名 不 能 为 空";
if ((!isset($error)) and (!ereg("[_0-9a-z]*",$nicker))) $error="请 使 用 小 写 字 母"a-z",数 字 "0-9",和 下 划 线 "_"";
if ((!isset($error)) and (strlen($nicker)<4)) $error="昵称的长度应大于3位";
if ((!isset($error)) and (Checknicker($nicker))) $error="此 用 户 名 已 存 在";
if ((!isset($error)) and (!$password)) $error="请 输 入 您 的 密 码";
if ((!isset($error)) and ($password!=$password2)) $error="两 次 输 入 的 密 码 不 同";
if (!isset($error)) {
AddUser();
header("Location: login_ok.php?id=$id/n");
} else
{
header("Location: login_error.php?error=$error/n");
}
exit;
}
include "header.inc.php";
$gender="M"
?>
  <BODY>
<TABLE width=100% border=0 align=center>
<TR class=myBlue>
<TD height=25 align=center>
<FONT class=myRed>
<?echo "用 户 申 请 表"?>
</FONT>
</TD>
</TR>
</TABLE>
  <hr color=red>
  <FORM METHOD="POST" ACTION="<? echo $PHP_SELF; ?>">
<TABLE width=80% border=1 align=center bgcolor=yellow>
<TR class=myBlack bgcolor=green>
<TD colspan=2 height=20 align=center>
<FONT class=myYellow>
请按照要求填写下列各项!
</FONT>
</td>
</TR>
<TR class=myBlack>
<TD height=20 width=10% align=center class=myRed>昵 称:</TD>
<TD height=20 width=72% align=left>
<INPUT type=text name=nicker maxlength=20 value="<? echo $nicker; ?>" >
<FONT class=myRed>
长度不少于4位的字母数字和下划线
</FONT>
</TD>
</TR>
<TR class=myBlack>
<TD height=30 width=10% align=center class=myRed>性别:</TD>
<TD height=30 width=70% align=left>
<INPUT type=radio name=gender value="M"
<? echo ($gender=="M") ? "checked" : ""; ?>>
<font class=myBlue>
俊男
</font>  
<INPUT type=radio name=gender value="W"
<? echo ($gender=="W") ? "checked" : ""; ?>>
<font class=myBlue>
美女
</font>
<FONT class=myRed>
&nbsp当心,别错了!
</FONT>
</TD>
</TR>
<TR class=myBlack>
<TD height=30 width=10% align=center class=myRed>
密 码:
</TD>
<TD height=30 width=70%>
<input type=password name="password" maxlength=8 >
<FONT class=myRed>
一定要把它记牢了!进入社区的钥匙!
</FONT>
</TD>
</TR>
<TR class=myBlack>
<TD height=30 width=10% align=center class=myRed>
重复密码:
</TD>
<TD height=30 width=70%>
<input type=password name="password2" maxlength=8 >
<FONT class=myRed>
请再确认一下密码!
</FONT>
</TD>
</TR>
<TR class=myBlack>
<TD height=30 width=80% colspan=2 align=center class=myRed><BR>
<INPUT type=reset name=Start value=" 重置 " class=myBlack>            
<INPUT type=submit name=Ok value=" 发送 " class=myBlack>            
<INPUT type=button name=Back value=" 返回 " class=myBlack
onClick=JavaScript:history.back()>
</TD>
</TR>
</TABLE>
  </FORM>
<DIV class=myGreen align=center>
<? echo $COPYRIGHT; ?>
</DIV>
<BR>
  </BODY>
</HTML>
  2. common.inc
  <?

//数据库所在的主机地址,localhost是本机地址
$MYSQL_HOSTNAME = "localhost";
//数据库登录的用户名称
$MYSQL_USERNAME = "root";
//数据库登录的密码
$MYSQL_PASSWORD = "";
//要登录的数据库的名称
$DATABASE = "goldenwind";
//所有登录的用户名表
$USER_LOG_TABLE = "user_log";
//用户的详细情况表
$USER_ATTR_TABLE = "user_attr";
//用户的详细情况表
$USER_ONLINE_TABLE = "user_online";

//显示的版权信息
$COPYRIGHT="<BR>Copyright &copy; 2000 www.fecit.com, ";
$COPYRIGHT.="All Rights Reserved<BR>飞思教育 版权所有!";

//数据库的连接操作
mysql_connect($MYSQL_HOSTNAME, $MYSQL_USERNAME, $MYSQL_PASSWORD);
mysql_select_db($DATABASE) or die(mysql_error());

?>
  3. login_error.php
  <?
include "header.inc.php";
?>

<HTML>
<!--HTML的头定义-->
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
</HEAD>

<BODY>
<!--滚动显示提示信息-->
<marquee scrolldelay="165" class=myYellow bgcolor=green>
欢迎光临金风社区&nbsp&nbsp&nbsp&nbsp&nbsp
这是我们的PHP乐园&nbsp&nbsp&nbsp&nbsp&nbsp
希望您能喜欢它~&nbsp&nbsp&nbsp&nbsp&nbsp
</marquee>

<!--显示一面迎风飘扬的旗帜作为提示信息-->
<img src="images/flag.gif" align=left>
<!--显示本页面的大标题-->
<h2 align=center color=red>
错误信息!
</h2>
<!--显示一条红色的水平的分隔线-->
<hr color=red>
<!--显示错误信息的提示语句-->

<p align=center>
<FONT color=red size=5 align=center>
<b>
&nbsp&nbsp&nbsp&nbsp错误信息提示
</b>
</FONT>
</p>

<!--显示具体的错误-->
<p align=center>
<FONT color=green size=5 align=center>
<b>
&nbsp&nbsp<?echo"$error"?>
</b>
</FONT>
</p>

<!--显示返回的按钮-->
<div align=center>
<a href="JavaScript:history.back()"><image src="images/clickme.gif"></a>
</div>

</BODY>
</HTML>
  4. login_ok.php
  <?
include "header.inc.php";
?>
<!--HTML的头定义-->
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
</HEAD>

<BODY>
<!--滚动显示提示信息-->
<marquee scrolldelay="165" class=myYellow bgcolor=green>
欢迎光临金风社区&nbsp&nbsp&nbsp&nbsp&nbsp
这是我们的PHP乐园&nbsp&nbsp&nbsp&nbsp&nbsp
希望您能喜欢它~&nbsp&nbsp&nbsp&nbsp&nbsp
</marquee>
<!--显示一面迎风飘扬的旗帜作为欢迎信息-->
<img src="images/flag.gif" align=left>
<!--显示本页面的大标题-->
<h2 align=center color=red>
金风社区欢迎您!
</h2>
<!--显示一条红色的水平的分隔线-->
<hr color=red>
<!--显示欢迎信息-->
<p align=center>
<FONT color=red size=5 align=center>
<b>
&nbsp&nbsp&nbsp&nbsp您已经成功了!恭喜恭喜
</b>
</FONT>
</p>
<!--显示欢迎信息-->
<p align=center>
<FONT color=red size=5 align=center>
<b>
<?echo"您的标识号是".$id ?>
</b>
</FONT>
</p>
<!--提示用户继续进行选择-->
<p align=center>
<FONT color=red size=5 align=center>
<b>
&nbsp&nbsp请选择继续或者退回
</b>
</FONT>
</p>
<!--对最下面的按钮进行说明-->
<p align=center>
<FONT color=green size=4>
<b>
&nbsp&nbsp选择左边的按钮继续登记
</b>
</FONT>
<FONT color=green size=4>
<b>
&nbsp&nbsp选择右边的按钮退回到主界面
</b>
</FONT>
</p>
<!--显示两个动态的按钮-->
<div align=center>
<a href="login.php"><image src="images/continue.gif" align=center></a>
<a href="mainform.php"><image src="images/back.gif"align=center></a>
</div>
</BODY>
</HTML>

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-355554-1-1.html 上篇帖子: PHP字符串的连接 下篇帖子: PHP API反射实例
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表