Нужна помощь с перенаправлением через PHP - PullRequest
0 голосов
/ 15 апреля 2019

Я сейчас строю опрос. До сих пор я добился немалого прогресса. Если участник завершает и отправляет опрос, он успешно попадает в мою базу данных и возвращает участника на главную страницу моего сайта, но если участник пропускает один вопрос, когда он пытается отправить опрос, он возвращает пустой экран, и данные отсутствуют. подается в мою базу данных.

Я хочу создать опрос, который дает участникам возможность пропускать вопросы и возвращает их на домашнюю страницу после отправки опроса.

Я понимаю, что для некоторых это может быть легко, но я довольно новичок в PHP, поэтому я все еще учусь, см. Код ниже.

<?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"]) && isset($_POST["q2"]) && isset($_POST["q3"]) && isset($_POST["q4"]) && isset($_POST["q5"]) && isset($_POST["q6"]) && $textAreaVal!=null){
        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();
    }

}

1 Ответ

0 голосов
/ 15 апреля 2019

// Вы можете заменить "&&" на "ИЛИ", чтобы пользователь мог пропустить любые вопросы, но пользователь должен завершить как минимум 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();
    }

}
...