PHP的bbs实现之一

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 0.sqlCREATE TABLE user_log (  log_id int(10) NOT NULL auto_increment,  nicker        varchar(20...

0.sql

CREATE TABLE user_log (
  log_id int(10) NOT NULL auto_increment,
  nicker        varchar(20),
  password varchar(10) NOT NULL,
  log_count  int(10),
  last_time varchar(20),
  last_ip       varchar(30),
  arc_count int(10),
  gender enum('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,
  realname varchar(20),
  email         varchar(40),
  address varchar(50),
  birthday  varchar(20),
  oicq          int(8),
  last_time varchar(20),
  homepage      varchar(50),
  merriage enum('Y','N') DEFAULT 'N' NOT NULL,
  edu_level varchar(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_id int(10) NOT NULL,
  nicker        varchar(20),
  log_count  int(10),
  log_time varchar(20),
  log_ip        varchar(30),
  arc_count int(10),
  gender enum('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>                                                                                                                   

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
8月前
|
关系型数据库 MySQL PHP
源码编译安装LAMP(HTTP服务,MYSQL ,PHP,以及bbs论坛)
通过以上步骤,你可以成功地在一台Linux服务器上从源码编译并安装LAMP环境,并配置一个BBS论坛(Discuz!)。这些步骤涵盖了从安装依赖、下载源代码、配置编译到安装完成的所有细节。每个命令的解释确保了过程的透明度,使即使是非专业人士也能够理解整个流程。
230 18
|
SQL PHP 数据安全/隐私保护
|
SQL PHP 数据库
|
SQL 前端开发 PHP
PHP的bbs实现之三
 邮件发送功能实现: sql语句: CREATE TABLE ourmail2 (  email_addr  varchar(40) NOT NULL,  create_time  var...
1118 0
|
PHP 数据库 SQL
PHP的bbs实现之四--创建调查
//createsurvey.sql CREATE TABLE survey (  title  varchar(60) NOT NULL,  totalfield    int(1),  o...
988 0
|
2月前
|
关系型数据库 MySQL PHP
PHP和Mysql前后端交互效果实现
本文介绍了使用PHP连接MySQL数据库的基本函数及其实现案例。内容涵盖数据库连接、选择数据库、执行查询、获取结果等常用操作,并通过用户登录和修改密码的功能实例,展示了PHP与MySQL的交互过程及代码实现。
260 0
PHP和Mysql前后端交互效果实现
|
7月前
|
关系型数据库 MySQL Linux
查看Linux、Apache、MySQL、PHP版本的技巧
以上就是查看Linux、Apache、MySQL、PHP版本信息的方法。希望这些信息能帮助你更好地理解和使用你的LAMP技术栈。
383 17