关于PHP的一个简单实例(登录模块)
来源:互联网 发布:mysql数据库开发实例 编辑:程序博客网 时间:2024/05/29 18:13
初学PHP,见笑了。
共有三个页面:
A.dbutil.php(只支持MS-SQL)
B.login.php
C.test.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;
}
}
}
?>
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>
<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();
?>
print $_POST["username"]
?>
<br>
<?php
phpinfo();
?>
- 关于PHP的一个简单实例(登录模块)
- 一个简单的注册登录模块
- php登录的一个小实例
- 一个简单的Hibernate登录实例
- php写一个简单的登录程序
- 基于JSP的开发实例--简单的登录模块
- 简单的登录模块
- 一个简单的jsp+servlet实例,实现简单的登录
- 一个简单的jsp+servlet实例,实现简单的登录
- 一个简单的jsp+servlet实例,实现简单的登录
- 一个简单的jsp+servlet实例,实现简单的登录
- 一个简单的jsp+servlet实例,实现简单的登录
- 一个简单的jsp+servlet实例,实现简单的登录
- 一个简单的jsp+servlet实例,实现简单的登录
- 一个简单的jsp+servlet实例,实现简单的登录
- 一个简单的jsp+servlet实例,实现简单的登录
- 一个简单的jsp+servlet实例,实现简单的登录
- 一个简单的jsp+servlet实例,实现简单的登录
- 浅谈Windows API编程
- 工作中学习 感
- 使用NAnt构建入门
- 170以内阶乘表(Factorial list up to 170)
- 肯尼迪:美元银本位的牺牲品
- 关于PHP的一个简单实例(登录模块)
- Praising Intel Service Bureau
- css
- MyJXTA 开源 项目 调试
- C++的文件结构
- 利用AXIS开发Webservice(五) —— 如何传递文件
- 查询前几条记录
- Nant daily build实践
- [转]SO_REUSEADDR例解