one.html:
<!DOCTYPE HTML>
<html>
<head>
<title>page1</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<div id="one">
<form method="post" action="connect1.php">
<h4>Answer all the questions on the scale (1)Strongly agree to (5)Strongly disagree </h4>
<table width="1000" border="1" cellpadding="10">
<tbody>
<tr>
<th style="width:50% ; text-align:center" scope="col">Questions</th>
<th style="width:10% ; text-align:center" scope="col">Strongly agree</th>
<th style="width:10% ; text-align:center" scope="col">Agree</th>
<th style="width:10% ; text-align:center" scope="col">Neutral</th>
<th style="width:10% ; text-align:center" scope="col">Disagree</th>
<th style="width:10% ; text-align:center" scope="col">Strongly disagree</th>
</tr>
<tr>
<td>1.People are clear about their role and performance levels expected of them.</td>
<td><input type="radio" name="q1" value="q1a">
1</td>
<td><input type="radio" name="q1" value="q1b">
2</td>
<td><input type="radio" name="q1" value="q1c">
3</td>
<td><input type="radio" name="q1" value="q1d">
4</td>
<td><input type="radio" name="q1" value="q1e">
5</td>
</tr>
<tr>
<td>2.People understand how their role fits with the responsibilities of others.</td>
<td><input type="radio" name="q2" value="q2a">
1</td>
<td><input type="radio" name="q2" value="q2b">
2</td>
<td><input type="radio" name="q2" value="q2c">
3</td>
<td><input type="radio" name="q2" value="q2d">
4</td>
<td><input type="radio" name="q2" value="q2e">
5</td>
</tr>
<tr>
<td>3.People understand the contribution they are making to organisational objectives.</td>
<td><input type="radio" name="q3" value="q3a">
1</td>
<td><input type="radio" name="q3" value="q3b">
2</td>
<td><input type="radio" name="q3" value="q3c">
3</td>
<td><input type="radio" name="q3" value="q3d">
4</td>
<td><input type="radio" name="q3" value="q3e">
5</td>
</tr>
<tr>
<td>4.People are clear about the behaviours expected of them in achieving their objectives.</td>
<td><input type="radio" name="q4" value="q4a">
1</td>
<td><input type="radio" name="q4" value="q4b">
2</td>
<td><input type="radio" name="q4" value="q4c">
3</td>
<td><input type="radio" name="q4" value="q4d">
4</td>
<td><input type="radio" name="q4" value="q4e">
5</td>
</tr>
<tr>
<td>5.Values and attributes are aligned with each other and support critical behaviour such as customer service or innovation.</td>
<td><input type="radio" name="q5" value="q5a">
1</td>
<td><input type="radio" name="q5" value="q5b">
2</td>
<td><input type="radio" name="q5" value="q5c">
3</td>
<td><input type="radio" name="q5" value="q5d">
4</td>
<td><input type="radio" name="q5" value="q5e">
5</td>
</tr>
<tr>
<td>6.People feel the organisational systems are 'in sync' with their objectives.</td>
<td><input type="radio" name="q6" value="q6a">
1</td>
<td><input type="radio" name="q6" value="q6b">
2</td>
<td><input type="radio" name="q6" value="q6c">
3</td>
<td><input type="radio" name="q6" value="q6d">
4</td>
<td><input type="radio" name="q6" value="q6e">
5</td>
</tr>
<tr>
<td>7.People believe they are given space to try new ideas or ways of doing things.</td>
<td><input type="radio" name="q7" value="q7a">
1</td>
<td><input type="radio" name="q7" value="q7b">
2</td>
<td><input type="radio" name="q7" value="q7c">
3</td>
<td><input type="radio" name="q7" value="q7d">
4</td>
<td><input type="radio" name="q7" value="q7e">
5</td>
</tr>
<tr>
<td>8.Knowledge-sharing enables people to learn from one another.</td>
<td><input type="radio" name="q8" value="q8a">
1</td>
<td><input type="radio" name="q8" value="q8b">
2</td>
<td><input type="radio" name="q8" value="q8c">
3</td>
<td><input type="radio" name="q8" value="q8d">
4</td>
<td><input type="radio" name="q8" value="q8e">
5</td>
</tr>
<tr>
<td>9.Cross-functional working enables people to learn from others' experiences.</td>
<td><input type="radio" name="q9" value="q9a">
1</td>
<td><input type="radio" name="q9" value="q9b">
2</td>
<td><input type="radio" name="q9" value="q9c">
3</td>
<td><input type="radio" name="q9" value="q9d">
4</td>
<td><input type="radio" name="q9" value="q9e">
5</td>
</tr>
<tr>
<td>10.People watch for changes within the external world that might impact on the organisation.</td>
<td><input type="radio" name="q10" value="q10a">
1</td>
<td><input type="radio" name="q10" value="q10b">
2</td>
<td><input type="radio" name="q10" value="q10c">
3</td>
<td><input type="radio" name="q10" value="q10d">
4</td>
<td><input type="radio" name="q10" value="q10e">
5</td>
</tr>
</tbody>
</table>
<input type="submit" value="submit">
</form>
</div>
</body>
</html>
connect1.php:
<?php
//connecting to the database
define('DB_HOST', 'localhost');
define('DB_NAME', 'survey');
define('DB_USER','root');
define('DB_PASSWORD','');
$con=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("Failed to connect to MySQL: " . mysql_error());
$db=mysql_select_db(DB_NAME,$con) or die("Failed to connect to MySQL: " . mysql_error());
//inserting Record to the database
$q1 = $_POST['q1'];
$q2 = $_POST['q2'];
$q3 = $_POST['q3'];
$q4 = $_POST['q4'];
$q5 = $_POST['q5'];
$q6 = $_POST['q6'];
$q7 = $_POST['q7'];
$q8 = $_POST['q8'];
$q9 = $_POST['q9'];
$q10 = $_POST['q10'];
$query = "INSERT INTO one(q1,q2,q3,q4,q5,q6,q7,q8,q9,q10)VALUES('$q1','$q2','$q3','$q4','$q5','$q6','$q7','$q8','$q9','$q10')";
$result = mysql_query($query);
if($result)
{
echo "Thank you for taking the test!";
}
else
{
die('Error: '.mysql_error($con));
}
mysql_close($con);
?>
数据库结果:
对于从 $q1
到 $q10
标记的十个问题,我有 10 个输入。每个问题都有五个单选按钮选项,用户选择一个。当存储到数据库时,$q1
列的值被存储(q1a
/q1b
/q1c
/q1d
/q1e
) 作为这五个选项之一。但对于接下来的问题,仅存储零 (0
)。
最佳答案
首先,避免使用 mysql_ 函数,您应该使用准备好的语句将其转换为 PDO。示例如下:http://php.net/manual/en/pdo.prepared-statements.php
原因是 mysql_ 从 PHP5.5 开始被弃用,并且从 PHP7 中被完全删除。您当前的代码容易受到 SQL 注入(inject)和跨站脚本攻击,PDO 将帮助您解决 SQL 注入(inject)问题。
您还必须始终验证来自用户的数据。你不能相信他们。如果有人要编辑单选按钮的值,他们可以将任何内容插入数据库中。 当您使用 POST/GET 时,我推荐 PHP 的内置输入过滤器,filter_input() 函数,它也会为您过滤输入,防止跨站点脚本编写。
您还应该阻止使用 die();并且 mysql 错误消息不应显示给最终用户。您应该只显示一条文本,说明发生了什么事,而不是实际的错误,这应该被记录下来以供您阅读。
在查询的每个段后留出空格,可读性和格式可能会破坏插入。插入一个 (q1, q2) 值 ('$q1', '$q2')。但如果您决定使用 PDO,情况会有所不同。
尝试 var_dump($_POST) 查看提交时是否有 POST 数据。
无密码的ROOT也非常关键,至少应该有一个密码,一般来说使用root并不是一个好的做法。最好的是您可以让新用户仅使用该数据库。
我希望您将此视为建设性的批评,我只是想让您的代码更好、更安全。
谢谢!
关于php - 单选按钮值未存储在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37207409/