如何用phpstudy给网站做留言板功能(含可视化面板+代码讲解)
时间:2023-10-13 05:54:02 | 来源:网站运营
时间:2023-10-13 05:54:02 来源:网站运营
如何用phpstudy给网站做留言板功能(含可视化面板+代码讲解):上次的文章说到,我给单位做了个内网网站,目前暂时需要包含首页展示、视频播放、下载文件、留言板功能。前三个功能都很简单,你直接用静态html代码连接对应的视频和文件就能实现。比较麻烦的是这个留言板功能,它需要连接数据库,把提交的内容上传到数据库的表中,实现动态的插入信息,同时每次提交后还能再显示出所有已经提交了的信息。
level1:简单地读取提交的信息,给操作人一个反馈,表示我们收到你提交的信息啦!
效果如下:
HTML代码如下:
当然你可以根据自己的情况更改里面的代码,比如多加几个文本输入框<input>,或者加一些类似于性别选项的单选框,又或者是其他的一些,但是调用本质都是一样的。
<form method="post" action="XXXXXX">
method="post"是指你提交的表单是以POST这种形式的方式传输的,action="XXXXXX",XXXX就是你存放调用的php的文件位置。
<option>是下拉菜单<select>的其中一个值,而且第一个<option>最好写成提示语句“请选择栏目”之类的,同时value属性里面不要写任何东西,这样php调用的时候就不会生成任何的值。如果你第一个选项就设置了有用的下拉参数,比如设置为“XX科室”,那么就算操作人没有选择任何的值,浏览器也会默认操作人选择了第一个选项。
不管是<select>还是<input><textarea>,它们都有一个name属性,像这种:
<select name="department">
name是用来向PHP和MySQL传输信息的时候用以调用数据的。在这里我让它们分别对应department(科室),name(姓名),suggestion(意见)。
于是当php调用它们的时候,在数据库的表里它们就能分别插入到对应的单元格里面。
数据库面板中我提交的测试信息接下来新建一个php文件,然后数据如下:
因此当留言者提交信息后, <form method="post" action="XXXXX.php">中的action会触发这个php文件,运行后的效果如下:
level2:在数据库中创建表,然后往里面提交数据
虽然上述能够进行反馈,但事实上提交的资料并没有传递到数据库中,这时候我们还需要在数据库中创建一张表,用于存放相关的信息,这个表就跟咱们平时做Excel一样,表头分别是你html表单里面的那些选项,下方每一横排就是每次提交的信息。
方法一:可视化新建表格
phpstudy里面有一个phpMyadmin的面板,可以可视化地操作数据库,使用前先在左侧软件管理里面安装phpmyadmin管理工具:
然后再在首页点击数据库工具下拉菜单打开:
然后填写你之前创建数据库时候设置的账号和密码,登录进去
如果要新建表格,点击左侧这里的新建,然后再右侧输入对应的栏目框,就可以了:
如果要删除,需要点击你设置的虚拟域名,然后点删除这个表:
这里一定要注意你新建的这个表的名字,也就是上图左侧那一列,就是表名。它是你后续调用这个表的关键。方法二:代码操作新建一个表
这里需要三个基本的函数:
mysqli_connect()连接数据库,输入你在phpstudy面板中新建数据库时设置的账号密码和数据库名,localhost是指你的数据库是在本地电脑上。
mysqli_query()操作数据库
mysqli_close()关闭数据库的连接
新建一个php文件,然后输入以下代码,打开浏览器运行一次,就可以啦!
然后你在phpMyadmin里面刷新,就可以看到你创建的这个表(表名叫做suggestion)了。
接下来是往数据库的这张表里面插入数据:
先前创建表的那些代码就不能再运行了,因为你的表已经创建,不用重复创建表。你需要把那些代码删掉或者注释掉,然后重新写以下这些代码,做数据插入:
由于你原先html文件里面调用的这个你写的php文件,那么你在网页上提交信息的时候,就会触发这个php文件,然后它就能往数据库的表里面传数据。
html文件截图网页截图数据库中的信息截图level3:提交完成后,将数据库中的信息全部显示出来
因为是提交后输出全部的信息,因此你需要保留原先插入数据的部分,然后再加上读取数据的代码,然后将它们用HTML的表格的形式在网页上输出,像这样:
运行后的效果:
到这里基本上一个简单的留言功能就可以了,如果平时要求不高,这个表单已经基本上能用了。level4:添加表单必填功能
上面这个表单存在一个问题,它是可以直接点击提交的,哪怕它里面完全没有输入任何信息,也可以提交成功,但是在后台就会形成空白的单元格。
所以如果要设置一些必填的选项,需要把文件改一下。之前HTML和PHP是分开的两个文件,这里需要把它们合并,把PHP的代码穿插html文件中,并把html文件后缀变成.php
其中第一排if(isset($_POST['submit'])){}是用来检查这个表单有没有点击过提交按钮,如果点击过,那么$_POST['submit']为真,执行它下面的代码,会开始检查有没有真的写入数据到表但里面,这里就是把表单提交的东西赋值给这三个变量:
这里是任何一个为空,都要显示提示信息,并把表单继续显示出来。同时表单原本的调用是调用的一个PHP文件,这里变成了action="<?php echo $_SERVER['PHP_SELF']?>",意思是直接调用自己。
这样子的好处是可以在两个输入框中把value的值设置为上面的变量,也就是用户已经写了的东西。用户如果没写完就点击了按钮,那么他写的东西可以直接存在这个变量里面,直接显示出来,否则的话页面会在点击提交后变成一片空白,用户又要重写。
运行效果如下: