Я действительно плохо на PHP. Итак, да, этот код упрощен. Но я предпочел бы, чтобы этот код работал, если это возможно. Спасибо.php error - не знаю, как исправить это
Цель PHP код
Есть технически два поля, мужские и женский пол. Я пытаюсь вызвать утверждение, предполагая, что если человек выбирает 0 для обоих, чтобы сказать им заполнить один из них, иначе, если пустым, заполнить его, в противном случае, проверить его с помощью функции test_input
, которая находится внизу.
Что я получаю это ошибка, которая постоянно говорит, что это:
PHP Parse error: syntax error, unexpected '[', expecting ')'
в отношении первой строки кода PHP. Я так сильно перекосил код, но не могу понять, как это исправить.
PHP код
if ((($_POST["male"]) === "") && ($_POST(["female"]) === "")) {
$quantityErr = "pls fill in one of the genders";
elseif (empty($_POST(["male"]))
$maleErr = "# of people (gender male) required";
else
$male = test_input($_POST["male"]);
}
HTML Код поля
<div class="field">
<label>* Number of People</label>
<select class="ui dropdown" name="male">
<option value="">Gender Male</option>
<option <?php if ($male === 0) echo 'selected' ; ?> value="0">0</option>
<option <?php if ($male == 1) echo 'selected' ; ?> value="1">1</option>
<option <?php if ($male == 2) echo 'selected' ; ?> value="2">2</option>
<option <?php if ($male == 3) echo 'selected' ; ?> value="3">3</option>
<option <?php if ($male == 4) echo 'selected' ; ?> value="4">4</option>
<option <?php if ($male == 5) echo 'selected' ; ?> value="5">5</option>
<option <?php if ($male == 6) echo 'selected' ; ?> value="6">6</option>
<option <?php if ($male == 7) echo 'selected' ; ?> value="7">7</option>
<option <?php if ($male == 8) echo 'selected' ; ?> value="8">8</option>
<option <?php if ($male == 9) echo 'selected' ; ?> value="9">9</option>
<option <?php if ($male == 10) echo 'selected' ; ?> value="10">10</option>
</select>
<?php if(isset($maleErr)) print ('<span class="error">* ' . $maleErr . '</span>'); ?>
<?php if(isset($quantityErr)) print ('<span class="error">* ' . $quantityErr . '</span>'); ?>
</div>
Функция тестирования
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
Этот '$ _POST ([" female "])' неверен. Вы можете использовать '{}' s или '[]' s для доступа к значениям массива. http://php.net/manual/en/language.types.array.php – chris85
@ chris85, как это неправильно? Я посмотрел код, пока не стал синим. Наверное, усталость, но это не видно. – user273072545345
Должно быть '$ _POST [" female "])' См. Дополнительную '(' у вас есть? Вероятно, было бы проще использовать пустой. – chris85