php+mysql的留言板(仅实现功能)

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";

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 "留言成功";
header("Refresh:2;url=liuyanaf.php");

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]
"
; }

新增的代码实际上就只有两个php文件和一些form表单的改动,大量时间都用在了测试怎么各板块间如何传值上,还是有所收获的。

下面演示:

留言

over.

你可能感兴趣的:(php+mysql的留言板(仅实现功能))