使用PHP向数据库提交调查表
我在FAQ页面的底部设置了一个调查,我是PHP新手,这是我第一次尝试连接到数据库(没有教程) 我在MySQL中设置了HTML页面、PHP页面和表 每次我提交时,数据库都会创建一个新行,但所有行都具有“0”,而不是分配给输入/div的值。请帮忙 编辑:我将HTML更新为现在的表单,但是,当我提交时,我得到一个404(而且行根本不更新。会有什么问题? 以下是HTML:使用PHP向数据库提交调查表,php,html,mysql,forms,survey,Php,Html,Mysql,Forms,Survey,我在FAQ页面的底部设置了一个调查,我是PHP新手,这是我第一次尝试连接到数据库(没有教程) 我在MySQL中设置了HTML页面、PHP页面和表 每次我提交时,数据库都会创建一个新行,但所有行都具有“0”,而不是分配给输入/div的值。请帮忙 编辑:我将HTML更新为现在的表单,但是,当我提交时,我得到一个404(而且行根本不更新。会有什么问题? 以下是HTML: <?php //error_reporting(0); require 'db/connect.php'; ?
<?php
//error_reporting(0);
require 'db/connect.php';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<html>
<head>
<title>State Requirements Feedback</title>
<!--<link rel='stylesheet' type='text/css' href='stylesheet.css'/>-->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script language="javascript">
$(document).ready(function() {
$('.rating').click(function() {
$('.rating').removeClass('selected');
ratingClick(this);
});
});
function ratingClick(that) {
console.log(that.id);
if (that.id == 'rating4' || that.id == 'rating5') {
$('#questions').fadeOut('slow');
$('#thankYou').fadeIn('slow');
} else {
$('#getMore').fadeIn();
$(that).toggleClass('selected');
}
}
$(document).ready(function() {
$('#submit').click(function(){
$('#questions').fadeOut('slow');
$('#thankYou').fadeIn('slow');
});
});
</script>
<style>
.ratings {
float: left;
width: 100%;
}
.rating {
margin: 7px;
font-weight: bold;
background-color: aliceblue;
}
.rating:hover {
background-color:#990000;
color: white;
}
#getMore {
display:none;
clear:both;
background-color:aliceblue;
border:solid black 1px;
padding:0px 5px 5px 10px;
margin:0px 0px 0px 7px;
}
#thankYou {
display:none;
font-weight: bold;
}
.selected {
background-color: #990000;
color: white;
}
textarea {
resize: none;
}
body {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
}
h2 {
margin-bottom: 5px;
font-size: 12px
}
</style>
</head>
<body>
<form id="questions" action="connect.php" method="post">
<h2>How helpful is this article?</h2>
<div class="ratings">
<input type="radio" name="Q1" class="rating" id="rating1" value="1">Not at all helpful
<input type="radio" name="Q1" class="rating" id="rating2" value="2">Not very helpful
<input type="radio" name="Q1" class="rating" id="rating3" value="3">Somewhat helpful
<input type="radio" name="Q1" class="rating" id="rating4" value="4">Very helpful
<input type="radio" name="Q1" class="rating" id="rating5" value="5">Extremely helpful
</div>
<div id="getMore">
<h2>Please tell us why you didn't find this article helpful:</h2>
<input type='checkbox' name="Q2_1" value="1">Not related to my issue<br/>
<input type='checkbox' name="Q2_2" value="1">Too complicated explanations<br/>
<input type='checkbox' name="Q2_3" value="1">Too much information<br/>
<input type='checkbox' name="Q2_4" value="1">Incorrect information<br/>
<input type='checkbox' name="Q2_5" value="1">Unclear information<br/>
<input type='checkbox' name="Q2_6" value="1">Incomplete information<br/>
<h2>Do you have any other feedback about this article?</h2>
<p><input type="text" name="Q3" /><p>
<div id = "submit"><input type='submit' value="Submit" /></div>
</div>
</form>
<div id="thankYou">
Thanks for your feedback!
</div>
</body>
</html>
状态需求反馈
$(文档).ready(函数(){
$('.rating')。单击(函数(){
$('.rating').removeClass('selected');
点击(本);
});
});
功能分级点击(那个){
console.log(that.id);
如果(that.id=='rating4'| | that.id=='rating5'){
$('问题').fadeOut('慢');
$('谢谢').fadeIn('慢');
}否则{
$('getMore').fadeIn();
$(that.toggleClass('selected');
}
}
$(文档).ready(函数(){
$(“#提交”)。单击(函数(){
$('问题').fadeOut('慢');
$('谢谢').fadeIn('慢');
});
});
.评级{
浮动:左;
宽度:100%;
}
.评级{
利润率:7px;
字体大小:粗体;
背景色:aliceblue;
}
。评级:悬停{
背景色:#990000;
颜色:白色;
}
#getMore{
显示:无;
明确:两者皆有;
背景色:aliceblue;
边框:纯黑1px;
填充:0px 5px 5px 10px;
保证金:0px 0px 0px 7px;
}
#谢谢{
显示:无;
字体大小:粗体;
}
.选定{
背景色:#990000;
颜色:白色;
}
文本区{
调整大小:无;
}
身体{
字体系列:Arial、Helvetica、无衬线字体;
字体大小:12px;
}
氢{
边缘底部:5px;
字号:12px
}
这篇文章有多大帮助?
毫无帮助
不是很有帮助
有点帮助
很有帮助
非常有用
请告诉我们为什么您觉得这篇文章没有帮助:
与我的问题无关
解释太复杂了
信息太多
错误信息
信息不清楚
信息不完整
你对这篇文章还有其他反馈吗?
谢谢你的反馈!
以下是php文档:
<?php
define('DB_NAME', 'staterequirements');
define('DB_USER', 'myuser');
define('DB_PASSWORD', 'mypass');
define('DB_HOST', 'localhost');
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if(!$link) {
die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db(DB_NAME, $link);
if(!$db_selected) {
die('Can\'t use ' . DB_NAME . ' : ' . mysql_error());
}
$Q1 = (isset($_POST['Q1']) ? $_POST['Q1'] : null);
$Q2_1 = (isset($_POST['Q2_1']) ? $_POST['Q2_1'] : null);
$Q2_2 = (isset($_POST['Q2_2']) ? $_POST['Q2_2'] : null);
$Q2_3 = (isset($_POST['Q2_3']) ? $_POST['Q2_3'] : null);
$Q2_4 = (isset($_POST['Q2_4']) ? $_POST['Q2_4'] : null);
$Q2_5 = (isset($_POST['Q2_5']) ? $_POST['Q2_5'] : null);
$Q2_6 = (isset($_POST['Q2_6']) ? $_POST['Q2_6'] : null);
$Q3 = (isset($_POST['Q3']) ? $_POST['Q3'] : null);
$sql = "INSERT INTO response (Q1, Q2_1, Q2_2, Q2_3, Q2_4, Q2_5, Q2_6) VALUES ('$Q1', '$Q2_1', '$Q2_2', '$Q2_3', '$Q2_4', '$Q2_5', '$Q2_6')";
if (!mysql_query($sql)) {
die('Error: ' . mysql_error());
}
mysql_close();
}?>
这些都是问题的一部分
这:
这是:
<div class="ratings" name="Q1">
<div class="rating" id="rating1" value="1">Not at all helpful</div>
<div class="rating" id="rating2" value="2">Not very helpful</div>
<div class="rating" id="rating3" value="3">Somewhat helpful</div>
<div class="rating" id="rating4" value="4">Very helpful</div>
<div class="rating" id="rating5" value="5">Extremely helpful</div>
</div>
毫无帮助
不是很有帮助
有点帮助
很有帮助
非常有用
我不确定您是否要使用下拉菜单选择或复选框或单选按钮或输入,但是那些div
无效
我还想指出,强烈建议您使用和/或而不是不推荐的,因为您的(已发布)代码是如果你是PHP新手,你应该正确使用mysqli
或PDO
。避免这些攻击要容易得多,特别是对初学者。谢谢,我会研究一下。谢谢你的回答。第一个问题应该是“收音机”但是,我正试图使用jQuery和div使其比单选按钮更具视觉吸引力。既然它们不是有效的“表单”元素,那么,解决这个问题的最佳方法是什么,而不是将其更改为实际的“表单”?@Alex不客气。不幸的是,您需要使用标准表单元素。在使用jQuery/Ajax时,您可以省略某些内容,但必须遵循标准表单协议。@Alex补充说明,根据我目前使用MySQL的经验,当其中一个表单元素未正确设置或命名时,数据库e不会插入/更新其他表单元素。这很有意义。我将其更新为表单,现在它给了我一个404。(一旦我能真正运行这个东西,我会担心MySQLi/PDO)。@Alex你想在同一页上运行整个代码吗?如果是,那么你需要将你的操作设置为这个action=“”
除非您的处理程序实际上位于名为connect.php的单独文件中,否则如果它不存在,则这就是404
<form id="questions" action="connect.php" method="post">
<div class="ratings" name="Q1">
<div class="rating" id="rating1" value="1">Not at all helpful</div>
<div class="rating" id="rating2" value="2">Not very helpful</div>
<div class="rating" id="rating3" value="3">Somewhat helpful</div>
<div class="rating" id="rating4" value="4">Very helpful</div>
<div class="rating" id="rating5" value="5">Extremely helpful</div>
</div>