php+mysql的留言板(仅实现功能)
基于上次做好的登录注册界面和sql表,进一步实现用户留言功能。
我的思路:
1.以上次的loginaf.php为基础,添加html代码,再做一个form表单用来传输用户的留言。
session_start();
header("Content-type:text/html;charset=utf-8");
$link=mysqli_connect("localhost","root","123456","test01");
$name=trim($_POST["username"]);
$password=trim($_POST["password"]);
$sql="select * from user where name="$name"&&passw=$password ";
$result=mysqli_query($link,$sql);
$row=mysqli_fetch_assoc($result);
if($row!=null){
echo $name;
echo ",welcome";
$_SESSION["name"] = $name;
echo "
";}
else
echo "sorry";
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
2.用liuyan.php接收留言,并写入数据库。
这里遇到了一个问题,loginaf.php中传输的数据只有留言,如何把留言写到与用户(name)对应的行里呢?要想办法把登录界面(login.html)里传来的name值也传到当前界面才行。我本来想找form表单想多个php文件传值的办法,结果发现找到也不会用,最后无奈直接把loginaf.php里的name变量设为session,在当前界面直接拿来用了。。。(第4行)
session_start();
header("Content-type:text/html;charset=utf-8");
$name=$_SESSION["name"];
$liuyan=trim($_POST["ly"]);
$link=mysqli_connect("localhost","root","123456","test01");
$sql1="UPDATE user SET liuyan = "$liuyan" WHERE name = "$name" ";
$result=mysqli_query($link,$sql1);
echo "留言成功"; 郑州男科医院哪家好:http://www.zztjnk.com/郑州看男科医院那里好:http://www.zztjnk.com/郑州医院做男科检查多少钱:http://www.zztjnk.com/
header("Refresh:2;url=liuyanaf.php");
1
2
3
4
5
6
7
8
9
10
3.最后是所有用户留言的展示,与之前的登录注册等界面没有什么联系,只要连接数据库就可以了。我的思路是在php端验证liuyan字段是否为空,不为空则输出该行的name和liuyan字段。但是不管我用以下哪种方法,返回的结果都为null(也就是所有liuyan字段都不为空)
select name,liuyan from user where liuyan!=null;
select name,liuyan from user where liuyan!=‘null’;
所以说这里我想要的null其实就是空格,最后这样解决:
select name,liuyan from user where liuyan!=’ ";
header("Content-type:text/html;charset=utf-8");
$link=mysqli_connect("localhost","root","123456","test01");
$sql="select name,liuyan from user where liuyan!=" ";";
$result=mysqli_query($link,$sql);
while($row=mysqli_fetch_assoc($result))
{
echo "$row[name]说:$row[liuyan]
";
}
1
2
3
4
5
6
7
8
9
新增的代码实际上就只有两个php文件和一些form表单的改动,大量时间都用在了测试怎么各板块间如何传值上,还是有所收获的。
下面演示:
留言
over.