我目前正在进行调查。到目前为止,我已经取得了很大的进步。如果参与者完成并提交了调查,它将成功进入我的数据库,并将参与者返回到我网站的主页,但是如果参与者跳过了一个问题,则当他们尝试提交调查时,它将返回空白显示,并且没有数据进入我的数据库。
我想创建一个调查表,使参与者能够跳过问题,并在提交调查表后将其返回首页。
我知道对某些人来说可能很容易,但是我对PHP还是很陌生,所以我还在学习,请参见下面的代码。
public interface IQueryable<out T> : System.Collections.Generic.IEnumerable<out T>, System.Linq.IQueryable
答案 0 :(得分:0)
//您可以将“ &&”替换为“或”,以便用户可以跳过任何问题,但用户必须填写至少1个问题。
<?php
$radioVal1 = $_POST["q1"];
$radioVal2 = $_POST["q2"];
$radioVal3 = $_POST["q3"];
$radioVal4 = $_POST["q4"];
$radioVal5 = $_POST["q5"];
$checkboxVal6 = $_POST["q6"];
$textAreaVal = $_POST["comment"];
session_start();
require_once('DBConnection.php');
if(isset($_POST["submit_questionnaire"])){
if(isset($_POST["q1"]) OR isset($_POST["q2"]) OR isset($_POST["q3"]) OR isset($_POST["q4"]) OR isset($_POST["q5"]) OR isset($_POST["q6"])){
echo "blyat";
$username = $_SESSION['username'];
$db = new DBConnection();
$conn= $db::getInstance()->dbConnect();
$query_code = "SELECT id_code FROM users WHERE name = '$username'";
$id_codeRow = $db::getInstance()->selectDB($query_code)->fetch_row();
$id_code = (string)array_values($id_codeRow)[0];
$query = "INSERT INTO questionnaire VALUES (default, '$id_code', '$radioVal1', '$radioVal2', '$radioVal3','$radioVal4', '$radioVal5', '$checkboxVal6', '$textAreaVal')";
$insert_value = $db::getInstance()->selectDB($query);
session_destroy();
header("Location: index.php");
exit();
}
}