返回列表 发帖

十天学会php之第七天

* Z" o% L1 z# {8 w) w; |' E
学习目的:学会SESSION的使用
. B4 \7 J8 a* m& V  \' E: h& c6 a6 W
SESSION的作用很多,最多用的就是站点内页面间变量传递。在页面开始我们要session_start();开启SESSION
- k- h' f; d% g1 P然后就可以使用SESSION变量了,比如说要赋值就是:$_SESSION['item']="item1";要得到值就是$item1=$_SESSION['item'];,很简单吧。这里我们可能会使用到一些函数,比如说判断是不是某SESSION变量为空,可以这么写:empty($_SESSION['inum'])返回true or false
  O7 b  L8 a% f$ w# ?) @" L, Y% K$ Y下面综合一下前面所说的我们来看一个登陆程序,判断用户名密码是否正确。4 H8 r$ @8 {- l9 O; r" T; n  d
登陆表单是这样:login.php
1 R& m5 E& y7 O+ i<table width="100%" height="100%" border="0" align="center" cellpadding="0" cellspacing="0">. [* H/ ]  f+ j' q9 P
<tr>
; c/ _# f  ^# \* Q, e! D<form action="checklogin.php" method="post"><td align="center" valign="middle"><table width="400" border="0" cellpadding="5" cellspacing="1" class="tablebg">4 f0 b0 N# V1 J
<tr class="tdbg">' Q/ d1 g* o. e
<td colspan="2"><div align="center">Administrators Login</div></td>
: h5 k  A2 c; r# @' b</tr>
& i& ]* I$ o+ y  q& }" D<tr class="tdbg">
3 g- R6 z3 e2 [+ w6 K" S) x# o- ^. m<td><div align="center">Username</div></td>
7 f% F4 X1 y/ \, B6 }) G<td><div align="center">% Y$ }( v. j" P& E5 w! T9 D/ X
<input name="username" type="text" id="username">
, ~1 ]. \+ x- z# j: Z; J  I</div></td>
9 ^$ p7 u2 T: T9 X</tr>' `+ T! v( K1 H" L5 H
<tr class="tdbg">" d( e$ J1 o8 y. S
<td><div align="center">Password</div></td>3 }# c% A) L! v1 q8 u$ d4 U9 l6 p
<td><div align="center">
) v' f1 N' c4 J6 i# L3 U. h7 a<input name="password" type="password" id="password">
$ Z! q5 g* c# `- V</div></td>
4 H  T7 w  H0 }</tr>% G, D, D7 J( f% P% ~5 k
<tr class="tdbg">+ I9 X. }) I+ k  `- Y9 I
<td colspan="2"><div align="center">* f5 _; z; T! b
<input type="submit" name="Submit" value="Submit">
: v! N8 \4 @: z( H1 s<input type="reset" name="Submit2" value="Clear">9 G9 O6 F- D3 `% B( B+ Z) c2 u
</div></td>
# G. h# P8 P  L, U3 X( J; t</tr>
5 Z5 [% }* f" Y</table></td></form>( Z4 a: o+ U: l) }$ t
</tr>
  S8 L) G' }6 f2 w</table>
- G9 m6 R/ v8 [% u8 p) @8 C
# ?% `/ l& t( _4 l/ y处理文件是这样
$ Z: i5 q4 @& T+ Q
<?3 e( d' r- p9 k$ J  A2 h
require_once('conn.php');4 E, }$ O$ J) |
session_start();
5 V7 [& R( g& I0 o; i8 L8 ^) K$username=$_POST['username'];
7 B; Z6 Y& e4 q$password=$_POST['password'];% g4 y0 s6 z- d) ]8 @- k% N; R
$exec="select * from admin where username='".$username."'";
6 u. T0 D+ S2 S8 K/ L2 \* Hif($result=mysql_query($exec)), A) \7 G9 U' @& ?8 S
{
$ O6 n, Z8 X) w6 L, N% x0 Nif($rs=mysql_fetch_object($result))
9 [7 M; H+ K, {{9 h7 _7 d. c0 U# S
if($rs->password==$password)( s$ s0 Z' m4 I( B6 Q
{/ o/ c- {0 H% k3 n$ j" F! u8 M
$_SESSION['adminname']=$username;! j$ i) Y' |( ?3 t: Y# q
header("location:index.php");. ^% N- s5 p% V; ~
}
% s9 _) }* H* D, L: `: Melse
$ ?4 t, _2 k/ b2 N" d% j8 U{8 D; r$ \: N- Y
echo "<script>alert('Password Check Error!');location.href='login.php';</script>";
/ |' F- N3 ?+ m* R( ^9 ?8 x- G}
% @6 _: _# ]+ \}
( c4 p) m  O! f5 d1 `+ s( t, Kelse7 `6 r/ ?& m# E" r7 A
{
& s$ V3 o. D1 D* e# F7 hecho "<script>alert('Username Check Error!');location.href='login.php';</script>";9 w3 p# _7 Z' p6 b* W
}
9 c' j. h- |& l0 C2 V}
! O' o- x) l( `" W8 X( o, Jelse! s; l% Q1 _4 [& J" `% j; W$ L8 o
{) F0 i3 D; ^' p- \+ E+ H6 k* [
echo "<script>alert('Database Connection Error!');location.href='login.php';</script>";
' m. g( B3 H* H8 H. m7 a3 w}, q3 d* F* n: `# j! j% F

" W8 P7 N/ b2 @! @/ ?/ O8 C: W5 Z% V: w?>
- @& I* B, A$ \: G7 u) w) L3 O" b! \% a3 F  h7 e; p8 u
conn.php
是这样:
' b0 w. P5 S4 B4 k0 b  n<?6 }9 a0 B# p4 E2 X
$conn=mysql_connect ("127.0.0.1", "", "");1 n+ |$ |& l# q- H, d/ C" ^
mysql_select_db("shop"); 4 ~5 i2 ~* a/ m) ]- Z( f
?>
0 B: K7 V( f* i" |# t! ]$ k! b- @) v# A9 d! Y  J/ b- \) p
由于 $_SESSION['adminname']=$username;我们可以这样写验证是否登陆语句的文件:checkadmin.asp
1 Q+ I: M8 |1 r% G/ z<?
+ B1 ]; ~+ u# X6 \/ Zsession_start();
0 E/ u* |3 q6 Z5 ~- M; R  o+ @6 uif($_SESSION['adminname']=='')
0 O+ T( O3 p& B$ _{
# H* k# Z8 P6 }; v# X4 jecho "<script>alert('Please Login First');location.href='login.php';</script>";
* G) }' S- a1 H# h) V}: m) _$ ?; l; [8 n
?>
, l' w# R. T" `0 o十天学会php之第七天就说到这里,第八天说一下怎么弄一个分页。

返回列表
【捌玖网络】已经运行: