怎么做论坛网站调查页面(表单提交数据库)
对于我们运营网站时,往往想了解自己网站的用户是通过哪些方式进入我们的网站的,方便网站的调整。这时做一个调查问卷页面再合适不过了。
下面学做网站论坛介绍一下DISCUZ论坛网站怎么添加一个调查问卷页面的方法。效果如下图:
方法/步骤
做调查问卷页面页面总共有三大步:用户提交表单、表单数据写入数据库、汇集数据库表单数据。
第一步:用户数据提交表单的制作。
制作提交表单很简单,就是使用HTML教程里讲的FORM标签来制作。代码如下:
<div class="vipxybd"><form method="post" action="sjjs.php">
<table width="600" height="369" class="sctb">
<tr>
<td height="45" align="center" style="font-weight:400;font-size:16px;">客服小调查:VIP学员<span style="color:#F00;"> {$_G[member][username]} </span>您好</td>
</tr>
<tr>
<td height="45" align="center" style="font-weight:400;font-size:16px">请问您是通过什么途径来到学做网站论坛的?</td>
</tr>
<tr>
<td width="580" height="217" align="center">
<p class="xzk">
<span><input type="radio" name="searchlx" value="百度">百度</span>
<span><input type="radio" name="searchlx" value="360搜索">360搜索</span>
<span><input type="radio" name="searchlx" value="搜狗">搜狗</span>
<span><input type="radio" name="searchlx" value="谷歌">谷歌</span>
<span><input type="radio" name="searchlx" value="其它">其它搜索</span>
<span><input type="radio" name="searchlx" value="网站链接">其它网站链接</span>
</p>
<p style="margin-top:20px;">
<textarea name="sousuci" id="sousuci" placeholder="这里填写您搜索的关键词或者其它网站网址,并注明是手机还是PC。例如:手机百度搜索“怎么做网站”……"></textarea></p></td>
</tr>
<tr>
<td height="50" align="center">
<input name="uid" type="hidden" value="{$_G[member][uid]}">
<input type="submit" name="button" id="button" value="提交" style="width:200px !important;">
</td>
</tr>
</table>
</form></div>
上面的代码就是一个用户提交表单,可以自己加一些CSS样式代码来控制一个样式。将表单代码放到DISCUZ论坛模板文件代码里,或者作为一个独立的提交页面都可以。
这个表单的数据的提交处理地址是:sjjs.php,所以下一步要制作一个sjjs.php文件;
第二步:制作表单数据处理页面sjjs.php;
这个页面的功能是先接收表单传过来的数据,然后再写入数据库里。代码如下:
<?php
//先连接数据库
//代码来源:学做网站论坛https://www.xuewangzhan.net/
$sousuleixing=$_POST["searchlx"];
$sousuci=$_POST["sousuci"];
$nowtimes=date('Y-m-d H:i:s',time());
define("DB_HOST","localhost");
define("DB_USER","数据库用户名");
define("DB_PWD","数据库密码");
define("DB_NAME","数据库名");
$conn = @mysql_connect(DB_HOST,DB_USER,DB_PWD) or die("连接服务器出错:".mysql_error());
@mysql_select_db(DB_NAME) or die("连接数据库出错:".mysql_error());
@mysql_query('SET NAMES GB2312');
$sql = "UPDATE pre_common_member SET sousuleixing='".$sousuleixing."',sousuci='".$sousuci."',nowtimes='".$nowtimes."' WHERE uid='".$uid."'";
mysql_query($sql,$conn);//执行SQL
$r=mysql_query($sql,$conn);
if($r){
echo "<script charset='GB2312'>alert('Ok, thanks!');location.replace(document.referrer);</script>";
}else{
echo "<script charset='GB2312'>alert('Error!');location.replace(document.referrer);</script>";
}
mysql_close($conn);
?>
通过上面的PHP页面代码,可以将表单提交过来的数据写入DISCUZ论坛数据会的会员数据表pre_common_member里。(注意,写入之前需要在数据表里创建二个列,分别是sousuleixing和sousuci)
在这一步里,方便后面数据排序,需要使用PHP获取当前日期。
第三步:制作一个页面来显示用户提交的数据。
就是读取数据库的过程。新建一个页面,取名为:cha.php,将以下的代码粘贴到cha.php。
<?php
$uid=$_POST["uid"];
$sousuleixing=$_POST["searchlx"];
$sousuci=$_POST["sousuci"];
define("DB_HOST","localhost");
define("DB_USER","数据库用户名");
define("DB_PWD","数据库密码");
define("DB_NAME","数据库名");
$conn = @mysql_connect(DB_HOST,DB_USER,DB_PWD) or die("连接服务器出错:".mysql_error());
@mysql_select_db(DB_NAME) or die("连接数据库出错:".mysql_error());
@mysql_query('SET NAMES utf8');
$sql = "UPDATE pre_common_member SET sousuleixing='".$sousuleixing."',sousuci='".$sousuci."' WHERE uid='".$uid."'";
echo '<div class="hyshuju">
<h2>反馈信息</h2>
<ul>
<div class="xxtitle">
<li class="clearfix">
<span class="bianhao1">编号</span>
<span class="bianhao2">会员名</span>
<span class="bianhao3">会员ID</span>
<span>注册时间</span>
<span class="bianhao4">搜索类型</span>
<span>搜索词</span>
<span>反馈时间</span>
</li></div>';
$result = mysql_query("select * from pre_common_member where sousuleixing <> '' ORDER BY nowtimes DESC limit 0,500");//获取最新500条数
$i=1;
while($row = mysql_fetch_array($result))//转成数组,且返回第一条数据,当不是一个对象时候退出
{
echo '
<li class="clearfix">
<span class="bianhao1">'.$i++.'</span>
<span class="bianhao2">'.$row['username'].'</span>
<span class="bianhao3">'.$row['uid'].'</span>
<span>'.date("Y-m-d H:i:s", $row['regdate']).'</span>
<span class="bianhao4">'.$row['sousuleixing'].'</span>
<span>'.$row['sousuci'].'</span>
<span>'.$row['nowtimes'].'</span>
</li>';
}
echo '</ul>
</div>';
mysql_close($conn);
?>
将这个页面上传到自己空间的根目录下,就可以查看最新500名用户反馈的信息了。