本文实例讲述了php实现基本留言板功能的方法。分享给大家供大家参考,具体如下:
作为一个php的初学者,我试着写了一个留言板,页面有点丑,多多见谅,嘻嘻嘻
#我们写留言板需要用到数据库,所以我们先要建立三个表
user表
friend表
text表
#首先需要写一个注册与登录
##注册
zhuce.html
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<meta charset= "utf-8" > <title>zhuce</title> </head> <body> <form method= "post" action= "zhuce.php" > <div style= "margin-left: 500px;margin-top:200px;height: 250px;width: 250px" > <h1>用户注册页面</h1> 用户名:<input type= "text" name= "username" > <div>密 码:<input type= "password" name= "password" > <div><input type= "submit" name= "submit" value= "注册" ></div> </div> </form> </body> |
zhuce.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
<?php session_start(); header( "content-type: text/html; charset=utf-8" ); //处理数据库用户名乱码 $user = $_post [ "username" ]; $pwd = $_post [ "password" ]; if ( $user == "" || $pwd == "" ) { echo "<script>alert('请确认信息完整性!'); history.go(-1);</script>" ; } else { $link =mysqli_connect( "localhost" , "root" , "" , "liuyan" ); //连接数据库 mysqli_query( $link , "set names utf8" ); $sql = "select username from user where username='$_post[username]'" ; $result =mysqli_query( $link , $sql ); //执行sql语句 $num =mysqli_num_rows( $result ); //统计执行结果影响的行数 if ( $num ) //如果存在该用户 { echo "<script>alert('用户名已存在!'); history.go(-1);</script>" ; } else //注册新用户 { $sql_insert = "insert into user (username,password)values('$_post[username]','$_post[password]')" ; $res_insert =mysqli_query( $link , $sql_insert ); if ( $res_insert ) { echo "<script>alert('注册成功!');window.location='denglu.html';</script>" ; } else { echo "<script>alert('系统繁忙请重试!'); history.go(-1);</script>" ; } } } ?> |
#效果如下
##登录
denglu.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<head> <meta charset= "utf-8" > <title>denglu</title> </head> <body> <form method= "post" action= "denglu.php" > <div style= "margin-left: 500px;margin-top:200px;height: 250px;width: 250px" > <h1>用户登录页面</h1> 用户名:<input type= "text" name= "username" > <div>密 码:<input type= "password" name= "password" ></div><br/> <input type= "submit" name= "submit" value= "登录" > <a href= "zhuce.html" rel= "external nofollow" >注册</a> </div> </form> </body> |
denglu.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
<?php session_start(); $user = $_post [ "username" ]; $_session [ "uesrname" ]= $user ; //session超全局变量 $pwd = $_post [ "password" ]; //获取密码 if ( $user = "" || $pwd = "" ) { echo "<script>alert('请输入用户名或密码!'); history.go(-1);</script>" ; } else { $link =mysqli_connect( "localhost" , "root" , "" , "liuyan" ); //连接数据库 mysqli_query( $link , "set names utf8" ); $sql = "select username,password from user where username = '$_post[username]' and password = '$_post[password]'" ; $result =mysqli_query( $link , $sql ); //执行sql语句 $num =mysqli_num_rows( $result ); //统计影响结果行数,作为判断条件 if ( $num ) { echo "<script>alert('登录成功!');window.location='003.php';</script>" ; //登录成功页面跳转 } else { echo "<script>alert('用户名或密码不正确!');history.go(-1);</script>" ; } } ?> |
#效果如下
#下面需要我们写一个登录进去的页面,它显示别人给你发来的留言以及进入你要给别人留言的页面或者退出系统,在这里我将html代码嵌入php
php代码如下
003.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
<?php session_start(); global $user ; //定义$user global $user1 ; $_session [ "username" ]= $user ; $username = $_session [ "uesrname" ]; $user1 =implode( "" , $_session ); //将session中的数组变为字符串元素 $link =mysqli_connect( "localhost" , "root" , "" , "liuyan" ); //连接数据库 mysqli_query( $link , "set names utf8" ); $sql = "select * from text where recever='{$username}'" ; $result =mysqli_query( $link , $sql ); //执行语句 if ( $num =mysqli_num_rows( $result )) //将html嵌入php中,实现从数据库中获得留言信息 {?> <!doctype html> <html> <head> <meta charset= "utf-8" > </head> <body> <div> <a href= "fabu.html" rel= "external nofollow" >发布信息</a> <a href= "tuichu.php" rel= "external nofollow" >退出系统</a></h3></div> <br/><br/> <h2>留言信息:</h2> <table cellpadding= "0" cellspacing= "0" border= "1" width= "60%" > <tr bgcolor= "#8bbcc7" > <td>发送人</td> <td>接收人</td> <td>发送时间</td> <td>信息内容</td> <?php echo '<pre>' ; while ( $row =mysqli_fetch_array( $result ,mysqli_assoc)) {?> <tr bgcolor= "#ffffff" > <td ><?php echo $row [ 'sender' ];?> </td> <td > <?php echo $row [ 'recever' ];?> </td> <td > <?php echo $row [ 'comment' ];?> </td> <td > <?php echo $row [ 'time' ];?> </td> <?php } ?> </tr> </table> </body> </html> <?php }?> |
#效果如下
#接下来我们就该写发布的页面以及php代码了
fabu.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<head> <meta charset= "utf-8" > <title>fabu</title> </head> <body> <form method= "post" action= "fabu.php" > <h1>发布信息<h1> <a href= "003.php" rel= "external nofollow" >主页面</a> <div>接收人:<input type= "text" name= "recever" > </select> </div> </select> </div> <br/> <div> 信息内容:<textarea input type= "text" name= "neirong" ></textarea> </div><br/> <input type= "submit" value= "发送" > </form> |
fabu.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
<?php session_start(); header( "content-type: text/html; charset=utf-8" ); global $user ; $re = $_post [ "recever" ]; //获取recever $comment = $_post [ "neirong" ]; //获取留言 @date_default_timezone_set(prc); //将数组变为字符串函数 $time = date ( "y-m-d g:i:s" ); //获取时间,g为24小时制 $_session [ "username" ]= $user ; //开启session $user1 =implode( "" , $_session ); //将数组转为字符串 $link =mysqli_connect( "localhost" , "root" , "" , "liuyan" ); //连接数据库 mysqli_query( $link , "set names utf8" ); $sql = "insert into text(sender,recever,comment,time) values('$user1','$re','$comment','$time')" ; $result =mysqli_query( $link , $sql ); //执行语句 $sql1 = "insert into friend(me,friend) values('$user1','$re')" ; //将me,friend存入数据库 $result =mysqli_query( $link , $sql1 ); //执行语句 if ( $recever = "" || $comment = "" ) { echo "<script>alert('发布失败!');window.location='fabu.html';</script>" ; } else { echo "<script>alert('发布成功!');window.location='fabu.html';</script>" ; } ?> |
#效果如下
#最后是退出系统
1
2
3
4
5
|
<?php session_start(); unset( $_session [ "uesrname" ]); echo "<script>alert('退出成功!');window.location='denglu.html';</script>" ; ?> |
#效果如下
希望本文所述对大家PHP程序设计有所帮助。
原文链接:https://blog.csdn.net/weixin_42580925/article/details/89363738