初学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
();
?>
共有三个页面:
A.dbutil.php(只支持MS-SQL)


















































































































































B.login.php































































C.test.php






