Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP向数据库提交调查表_Php_Html_Mysql_Forms_Survey - Fatal编程技术网

使用PHP向数据库提交调查表

使用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'; ?

我在FAQ页面的底部设置了一个调查,我是PHP新手,这是我第一次尝试连接到数据库(没有教程)

我在MySQL中设置了HTML页面、PHP页面和表

每次我提交时,数据库都会创建一个新行,但所有行都具有“0”,而不是分配给输入/div的值。请帮忙

编辑:我将HTML更新为现在的表单,但是,当我提交时,我得到一个404(而且行根本不更新。会有什么问题?

以下是HTML:

<?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>