PHP Online Test

я столкнулся с такой проблемой, создал онлайн тест и в значения $plusbox и $errorbox не увеличивается значение на 1, хоть я и задал условия $plusbox++ и $errorbox++

$errorbox = 0;
 $plusbox = 0;
 if(!isset($_REQUEST['GO'])) {

   if($_REQUEST['TXT_FORM_NAME'] == " ") {break;}

   if($_POST[FORM1] == A) {$plusbox++;} else {$errorbox++;}

   if($_POST[FORM2] == C) {$plusbox++;} else {$errorbox++;}

   if($_POST[FORM3] == B) {$plusbox++;} else {$errorbox++;}

   if($_POST[FORM4] == A) {$plusbox++;} else {$errorbox++;}

   if($_POST[FORM5] == A) {$plusbox++;} else {$errorbox++;}

 }

Ответы (2 шт):

Автор решения: Denis640Kb
$errorbox = 0;
$plusbox = 0;
if(!isset($_REQUEST['GO'])) {

    if($_POST['FORM1'] == 'A') {$plusbox++;} else {$errorbox++;}

    if($_POST['FORM2'] == 'C') {$plusbox++;} else {$errorbox++;}

    if($_POST['FORM3'] == 'B') {$plusbox++;} else {$errorbox++;}

    if($_POST['FORM4'] == 'A') {$plusbox++;} else {$errorbox++;}

    if($_POST['FORM5'] == 'A') {$plusbox++;} else {$errorbox++;}

}

Работающий и протестированный пример:

<?php
$errorbox = 0;
$plusbox = 0;

if($_POST['FORM1'] == 'A') {$plusbox++;} else {$errorbox++;}

if($_POST['FORM2'] == 'C') {$plusbox++;} else {$errorbox++;}

if($_POST['FORM3'] == 'B') {$plusbox++;} else {$errorbox++;}

if($_POST['FORM4'] == 'A') {$plusbox++;} else {$errorbox++;}

if($_POST['FORM5'] == 'A') {$plusbox++;} else {$errorbox++;}

echo 'box -';
print_r($plusbox);
echo 'error -';
print_r($errorbox);


?>

<form method="post">
    <input name="FORM1">
    <input name="FORM2">
    <input name="FORM3">
    <input name="FORM4">
    <input name="FORM5">
    <button>fdsf</button>
</form>
→ Ссылка
Автор решения: Егор Банин

Проверьте своё решение, например так:

$_REQUEST['GO'] = null;
$_REQUEST['TXT_FORM_NAME'] = 'test';
$_POST['FORM1'] = 'A'; // верно
$_POST['FORM2'] = 'A'; // неверно
$_POST['FORM3'] = 'B'; // верно
$_POST['FORM4'] = 'A'; // верно
$_POST['FORM5'] = 'C'; // неверно

$errorbox = 0;
$plusbox = 0;

if(!isset($_REQUEST['GO'])) {
    if ($_REQUEST['TXT_FORM_NAME'] == " ") {return;}

    if($_POST['FORM1'] == 'A') {$plusbox++;} else {$errorbox++;}

    if($_POST['FORM2'] == 'C') {$plusbox++;} else {$errorbox++;}

    if($_POST['FORM3'] == 'B') {$plusbox++;} else {$errorbox++;}

    if($_POST['FORM4'] == 'A') {$plusbox++;} else {$errorbox++;}

    if($_POST['FORM5'] == 'A') {$plusbox++;} else {$errorbox++;}
}

printf("errorbox: %d, plusbox: %d\n", $errorbox, $plusbox);

Я немного поправил ваш код, чтобы он не валился с ошибками.

Если результат вас устраивает, уберите тестовые данные и посмотрите а что у вас в приходит в массивы $_REQUEST и $_POST. Напишите var_dump($_REQUEST, $_POST); посмотрите на вывод. При необходимости внесисте правки в HTML-форму или в php-код.

→ Ссылка