PHP.docx

上传人:b****0 文档编号:18217936 上传时间:2023-08-14 格式:DOCX 页数:16 大小:20.25KB
下载 相关 举报
PHP.docx_第1页
第1页 / 共16页
PHP.docx_第2页
第2页 / 共16页
PHP.docx_第3页
第3页 / 共16页
PHP.docx_第4页
第4页 / 共16页
PHP.docx_第5页
第5页 / 共16页
PHP.docx_第6页
第6页 / 共16页
PHP.docx_第7页
第7页 / 共16页
PHP.docx_第8页
第8页 / 共16页
PHP.docx_第9页
第9页 / 共16页
PHP.docx_第10页
第10页 / 共16页
PHP.docx_第11页
第11页 / 共16页
PHP.docx_第12页
第12页 / 共16页
PHP.docx_第13页
第13页 / 共16页
PHP.docx_第14页
第14页 / 共16页
PHP.docx_第15页
第15页 / 共16页
PHP.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

PHP.docx

《PHP.docx》由会员分享,可在线阅读,更多相关《PHP.docx(16页珍藏版)》请在冰点文库上搜索。

PHP.docx

PHP

1数据库设计

创建数据库message

User表

字段

类型

是否空

主外键

备注

Uid

Int

主键

用户编号

Username

字符串,20

用户名

Userpwd

字符串,20

用户密码

mess表

字段

类型

是否空

主外键

备注

mid

Int

主键

留言编号

Title

字符串,100

留言标题

Date

字符串,20

发布日期

mess

Text

留言内容

Uid

Int

外键(user)

用户编号

createtableuser(

uidintprimarykeyauto_increment,

usernamevarchar(20)notnull,

userpswvarchar(20)notnull

);

createtablemess(

midintprimarykeyauto_increment,

titlevarchar(100)notnull,

datedatetimenotnull,

messtextnotnull,

uidintnotnull,

foreignkey(uid)referencesuser(uid)onupdatecascade

);#mess表中的uid为外键,并且具有与之关联更新的能力

2数据库连接自定义函数

database.php页面提供了两个自定义函数,分别处理数据库的链接和关闭,其存放在一个名为function的文件夹中

database.php

php

//function/database.php

$database_connection=null;

//连接数据库函数

functionget_connection(){

$hostname="localhost";//数据库服务器主机名,可以用IP代替

$database="message";//数据库名

$username="root";//数据库服务器用户名

$password="5956";//数据库服务器密码

global$database_connection;

$database_connection=@mysql_connect($hostname,$username,$password)ordie(mysql_error());//连接数据库服务器

mysql_query("setnames'gbk'");//设置字符集

@mysql_select_db($database,$database_connection)ordie(mysql_error());

}

//关闭数据库函数

functionclose_connection(){

global$database_connection;

if($database_connection){

mysql_close($database_connection)ordie(mysql_error());

}

}

3页面设计

index.php页面分为两个部分,上半部分为登录、注册、留言、退出等表单和超链接显示,下半部显示所有留言,和分页显示条

index.php

php

session_start();

error_reporting(E_ALL&~E_NOTICE&E_WARNING);

?

>

DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http:

//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

//www.w3.org/1999/xhtml">

留言板

欢迎光临留言板系统!


--头部,获取用户登录信息-->

php//如果未登录,则显示login页面中的表单信息,否则显示欢迎信息

if(empty($_SESSION['user']))

include'login.php';

else{

echo$_SESSION['user'].",欢迎你!

  ";

echo"我要留言  ";

echo"退出登录";

}

?

>

php//页面内容部分显示

include'message.php';

?

>

留言板系统©copyright2015V1.0

login.php页面是嵌套在index.php页面中的,是一个表单

login.php

用户名:

密码:

没有账号,点击这里注册·

logincheck.php页面处理登录表单提交的信息

logincheck.php

php

//开启session会话,屏蔽错误信息

session_start();

error_reporting(E_ALL&~E_NOTICE&E_WARNING);

if($_POST['sub']){

$user=$_POST['user'];

$psw=$_POST['psw'];

//包含数据库文件,连接数据库

include'function/database.php';

get_connection();

//在数据库中查找与用户信息相等的记录

$sql="select*fromuserwhereusername='$user'anduserpsw='$psw'";

$result=mysql_query($sql);

$set=mysql_fetch_array($result);

close_connection();//关闭数据库连接

//结果集中数据记录的行数大于0,表示用户信息存在

if(mysql_num_rows($result)>0)

{//有该用户,则直接存入session数组,并显示在首页

$_SESSION['user']=$user;

$_SESSION['uid']=$set[uid];

header("location:

index.php");

}

else{

//否则提示,再做跳转

echo"用户名或密码错误,请重新登录。

";

header("refresh:

3;url=index.php");

}

}

?

>

loginout.php页面为退出当前登录状态

loginout.php

php

//开启session会话

session_start();

//取消用户登录信息

unset($_SESSION['user'],$_SESSION['uid']);

//返回首页

header("location:

index.php");

regist.php页面提供用户注册

regist.php

php

//开启session会话,屏蔽错误信息

session_start();

error_reporting(E_ALL&~E_NOTICE&E_WARNING);

?

>

用户名:

密码:

确认密码:

php

if(isset($_POST['sub'])){

//判断两次密码是否相等

if($_POST['psw1']==$_POST['psw2'])

{

$user=$_POST['user'];

$psw=md5($_POST['psw1']);

//包含数据库文件,连接数据库

include'function/database.php';

get_connection();

//将用户信息写入数据库

$sql="insertintouser(uid,username,userpsw)values('','$user','$psw')";

mysql_query($sql);

//重新从数据库获取用户信息

$sql_se="selectuid,usernamefromuserwhereusername='$user'";

$result=mysql_query($sql_se);

$set=mysql_fetch_array($result);

close_connection();//关闭数据库连接

//存入session数组

$_SESSION['user']=$set[username];

$_SESSION['uid']=$set[uid];

//提醒用户注册成功,跳转

echo"用户名$user,注册成功";

header("refresh:

3;url=index.php");

}else

echo"两次密码不相等,请重新填写";

}

?

>

leavemess.php页面是一个单独表单,添加留言。

leavemess.php

标题:

内容:

add.php页面是处理添加的留言,将其写入数据库

add.php

php

//开启session会话

session_start();

//获取会话中的用户信息和表单传来的值

$user=$_SESSION['user'];

$title=$_POST['title'];

//str_replace()函数使用一个字符串替换字符串中的另一些字符。

$mess=str_replace("
","\n",$_POST['mess']);

$uid=$_SESSION['uid'];

if($_POST['sub'])

{//包含数据库文件,连接数据库

include'function/database.php';

get_connection();

//插入用户填写的数据

$sql="insertintomess(mid,title,date,mess,uid)values('','$title',now(),'$mess','$uid')";

mysql_query($sql);

close_connection();//关闭数据库连接

//代码执行到此直接重定向

header("location:

index.php");

}

message.php页面是显示所有留言,并为其分页

message.php

php

//包含数据库文件,连接数据库

include'function/database.php';

get_connection();

$sql_all="select*frommess";//查询数据库所有信息,以获取记录条数

$result_all=mysql_query($sql_all);

$mess_totle=mysql_num_rows($result_all);//留言记录的条数

$page_size=4;//每页容纳留言数

$page_totle=ceil($mess_totle/$page_size);//计算总页数,向上舍入取整如ceil(2.3)结果为3

$page=$_GET['page'];//设置初始页数

if($page==0)//页面为0时,将其设置为1

$page=1;

$p=($page-1)*$page_size;//设置本页起始信息号

//双表查询,因为仅仅查询mess表显示不了用户姓名

$sql="selectuser.username,mess.title,mess.uid,mess.date,mess.messfrommess,userwhereuser.uid=mess.uidorderbymiddesclimit$p,$page_size";

$result=mysql_query($sql);

close_connection();//关闭数据库连接

//以独立div的方式显示一条记录,并为记录设置编号,

$i=1;

while($set=mysql_fetch_array($result))

{

$message=str_replace("\n","
",$set[mess]);

echo"";

echo"

16px;font-weight:

400;\">$i.标题:

$set[title]

";

echo"发布人:

$set[username]  发布日期:

$set[date]

";

echo"

#CCC1pxdotted;\">";

echo"

    $message
";

echo"";

$i++;

}

echo"
";

$url=$_SERVER['PHP_SELF'];//获取当前页面名称

//设置分页显示的相关信息

echo"当前第$page页,共$page_totle页    ";

if($page>1)

echo"

page=1>首页  ";

for($i=1;$i<=$page_totle;$i++){

echo"  

page=$i>$i  ";

}

if($page<$page_totle)

echo"  

page=$page_totle>尾页";

该系统还有很多不完善的地方,例如留言不能删除、编辑、评论

 

13-PHP分页

php

error_reporting(E_ALL&~E_NOTICE&~E_WARNING);

include'function/database.php';

get_connection();

$sql_all="select*fromusers";//查询数据库所有信息,以获取记录条数

$result_all=mysql_query($sql_all);

$mess_totle=mysql_num_rows($result_all);//留言记录的条数

$page_size=2;//每页容纳留言数

$page_totle=ceil($mess_totle/$page_size);//计算总页数,向上舍入取整如ceil(2.3)结果为3

$page=$_GET['page'];//设置初始页数

if($page==0)//页面为0时,将其设置为1

$page=1;

$p=($page-1)*$page_size;//设置本页起始信息号

$sql_se="select*fromuserslimit$p,$page_size";

$result=mysql_query($sql_se);

while($arr=mysql_fetch_array($result)){

echo$arr[uid]."|".$arr[name]."|".$arr[pass]."


";

}

$url=$_SERVER['PHP_SELF'];//获取当前页面名称

//设置分页显示的相关信息

echo"

当前第$page页,共$page_totle页  ";

if($page>1)

echo"

page=1>首页 ";

for($i=1;$i<=$page_totle;$i++){

echo" 

page=$i>$i ";

}

if($page<$page_totle)

echo" 

page=$page_totle>尾页

";

页面分页显示效果截图

 

详细信息页面在web系统设计中比较常见,例如:

http:

//ky.gdst.cc/readArticle.aspx?

aid=400

 

详细页面可以根据以下html代码,将其嵌入到PHP脚本中,其中的标题及其内容须从数据库中提取

1.

#ccc1pxsolid;padding:

10px;box-shadow:

2px2px2px#eee;margin:

10px;">

这里是留言的标题

发布人:

rr,发布日期:

2015-06-0115:

00:

00

#CCC1pxdotted;">

10px;">这里是留言的内容

2.

#ccc1pxsolid;padding:

10px;box-shadow:

2px2px2px#eee;margin:

10px;">

2标题:

这里是留言的标题

发布人:

rr,发布日期:

2015-06-0115:

00:

00

#CCC1pxdotted;">

10px;">这里是留言的内容

3.

#ccc1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 数学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2