关于PHP的一个简单实例(登录模块)

初学PHP,见笑了。
共有三个页面:

A.dbutil.php(只支持MS-SQL)
<?
class  DataAccessObject {
    
var   $Host   =   " localhost " //  Hostname of our MySQL server 
     var   $Database   =   " TEST_DB " //  Logical database name on that server 
     var   $User   =   " sa " //  Database user 
     var   $Password   =   " sa " //  Database user's password 

    
var   $Link_ID   =   0 //  Result of mssql_connect() 
     var   $Query_ID   =   0 //  Result of most recent mssql_query() 
     var   $Row   =   0 //  Current row number 
     var   $Errno   =   0 //  Error state of query 
     var   $Error   =   "" ;

    
var   $AffNum   =   0 ;

    
/* ************************************* 
    *打印错误方法:显示页面处理的错误信息。 
    ***************************************
*/
    
function  Halt( $msg ) {
        
printf ( " </td></tr></table><b>Database error:</b> %s<br> " ,   $msg );
        
printf ( " <b>mssql Error</b>: %s (%s)<br> " ,   $this -> Errno ,   $this -> Error);
        
die ( " Session halted. " );
    }

    
/* ************************************* 
    *连接数据库,并且选择默认的数据库 
    *************************************
*/
    
function  Connect() {
        
if  ( 0   ==   $this -> Link_ID) {
            
$this -> Link_ID  =  mssql_connect( $this -> Host ,   $this -> User ,   $this -> Password) or  die ( " Couldn't connect to SQL Server on 
            
            $servername
" );
            
$db   =  @ mssql_select_db( $this -> Database ,   $this -> Link_ID);
            
if  ( ! $this -> Link_ID) {
                
$this -> Halt( " Link-ID == false, mssql_connect failed " );
            }
        }
    }

    
/* *************************************** 
    *关闭数据库,如果数据库连接已经打开则关闭它 
    *请在调用Connect()并处理后使用Close() 
    ***************************************
*/
    
function  Close() {
        
if  ( 0   !=   $this -> Link_ID) {
            mssql_close();
        }
    }

    
/* ************************************************ 
    *输入sql语句,有select,update,insert,delete 
    *包括存储过程也可以通过这个方法来调用。 
    ************************************************
*/
    
function  Query( $Query_String ) {
        
$this -> Connect();

        
$this -> Query_ID  =  mssql_query( $Query_String );
        
$this -> Row  =   0 ;
        
if  ( ! $this -> Query_ID) {
            
$msg   =  mssql_get_last_message();

            
if  ( $msg   ==   null   ||   $msg   ==   "" ) {
                
$this -> AffNum  =   1 ;
                
return   1 ;
            }

            
if  ( strtolower ( substr ( $Query_String ,   0 ,   6 ))  !=   " select " ) {
                
$this -> AffNum  =   1 ;
                
return   1 ;
            }

            
$this -> Errno  =   1 ;
            
$this -> Error  =   " General Error (The mssql interface cannot return detailed error messages)( "   .   $msg   .   " ). " ;
            
$this -> halt( " Invalid SQL:  "   .   $Query_String );
        }
        
return   $this -> Query_ID;
    }

    
/* ****************************************************** 
    *把查询数据库的指针移到下一条记录 
    ******************************************************
*/
    
function  NextRecord() {
        
$this -> Record  =   array  ();
        mssql_next_result(
$this -> Query_ID);
        
$this -> Record  =  mssql_fetch_array( $this -> Query_ID);

        
$result   =   $this -> Record;
        
if  ( ! is_array ( $result ))
            
return   $this -> Record;
        
foreach  ( $result   as   $key   =>   $value ) {
            
$keylower   =   strtolower ( $key );
            
if  ( $keylower   !=   $key )
                
$this -> Record[ $keylower =   $value ;
        }

        
return   $this -> Record;
    }

    
/* ******************************************************* 
    *重新定位查询数据库的指针 
    *******************************************************
*/
    
function  Seek( $pos ) {
        
if  ( $pos   <=   0 )
            
return ;
        
if  ( eregi ( " [0-9] " ,   $pos ))
            mssql_data_seek(
$this -> Query_ID ,   $pos );
    }

    
/* ******************************************************* 
    *获取查询数据库得到的总行数 
    *******************************************************
*/
    
function  NumRows() {
        
if  ( $this -> Query_ID)
            
$num_rows   =  mssql_num_rows( $this -> Query_ID);
        
else
            
$num_rows   =   $this -> AffNum;

        
return   $num_rows ;
    }

    
/* ****************************************************** 
    *字段数 
    ******************************************************
*/
    
function  NumFields() {
        
return   count ( $this -> Record)  /   2 ;
    }

    
/* ****************************** 
    *该字段的值 
    ******************************
*/
    
function  FieldValue( $Field_Name ) {
        
return   $this -> Record[ $Field_Name ];
    }

    
/* ***************************** 
    *update,insert,delete影响的行数 
    *****************************
*/
    
function  AffectedRows() {
        
if  ( $this -> Query_ID)
            
return  mssql_num_rows( $this -> Query_ID);
        
else  {
            
return   $this -> AffNum;
        }
    }
}
?>

B.login.php
< html >
< head >
< meta http - equiv = " Content-Type "  content = " text/html; charset=utf-8 "   />
< title > 登陆画面 </ title >
</ head >
< body >
<?
    
require   " dbutil.php " ;
    @
session_start ();
    
    
$message   =   "" ;
    
if ( $_POST ){
        
if ( empty ( $_POST [ " username " ]) ){
            
$message   =   " 用户名不能为空! " ;
        } 
else   if ( empty ( $_POST [ " password " ]) ){
            
$message   =   " 密码不能为空! " ;
        } 
else  {
            
$username   =   $_POST [ " username " ];
            
$password   =   $_POST [ " password " ];
            
$dao   =   new  DataAccessObject();
            
$sql   =   " SELECT * FROM T_USER WHERE USR_NAME =  "   .   $username   .   "  AND USR_PSW =  "   .   $password ;
            
$dao -> Query( $sql );
            
$count   =   $dao -> NumRows();
            
$dao -> Close();
            
if ( $count   >   0 ) {
                
echo   " <script language=javascript>location.href='test.php'</script> " ;
            } 
else  {
                
$message   =   " 用户名或者密码不正确! " ;
            }
        }
    }
?>
< form action = " login.php "  method = " post " >
< table width = " 100% "  height = " 100% "  border = " 0 " >
  
< tr >
    
< td align = " center "  valign = " middle " >
    
< table >
      
< tr >
        
< td ><?=   $message   ?></ td >
      
</ tr >
    
</ table >
    
< table width = " 250 "  border = " 1 " >
      
< tr >
        
< td width = " 40% " > 用户名 :</ td >
        
< td >< input type = " text "  name = " username "  value = " <?=$_POST[ " username " ]?> "  style = " width:120px "   /></ td >
      
</ tr >
      
< tr >
        
< td > 密码 :</ td >
        
< td >< input type = " password "  name = " password "  value = " <?=$_POST[ " password " ]?> "   style = " width:120px "   /></ td >
      
</ tr >
      
< tr >
        
< td align = " center "  colspan = " 2 " >
            
< input type = " submit "  value = " 登陆 "   />
            
< input type = " reset "  value = " 清除 "   />
        
</ td >
      
</ tr >
    
</ table >
    
</ td >
  
</ tr >
</ table >
</ form >
</ body >
</ html >

C.test.php
<?
    
print   $_POST [ " username " ]
?>
< br >
<? php
    
phpinfo ();
?>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值