date — PHP перерыв не работает

Я пытаюсь отключить форму по выходным. В моем коде у меня есть разрыв после переменной $ noaccess. Когда я запускаю код, форма не загружается. Я не уверен, что происходит, пожалуйста, помогите.
Вот мой код:

$wkday = date('D');
if ($wkday == "Sun") {
$noaccess = "yes";
break;
} elseif ($currday == "Sat") {
$noaccess = "yes";
} else {
$noaccess = "no";
}

Вот код для отображения формы:

if ($noaccess == "yes") {
echo "You cannot access this area now";
} else {
//Form displays normally
}

-2

Решение

Вы ссылаетесь на неправильную переменную $currday в elseif ($currday == "Sat")

который должен быть $wkday как в elseif ($wkday == "Sat") в отношении $wkday = date('D');

Плюс, как сказал Дейв Готен, break; не нужно

добавлять exit;, die; или же return; если необходимо.

$wkday = date('D');
if ($wkday == "Sun") {
$noaccess = "yes";
} elseif ($wkday == "Sat") {
$noaccess = "yes";
} else {
$noaccess = "no";
}

// test echo

if ($noaccess == "yes") {
echo "You cannot access this area now";
} else {
//Form displays normally

echo $noaccess; // test variable echo
echo "You have access";

}

Базовая отладка, такая как Отчет об ошибках сигнализировал бы неопределенную переменную в этот день.

т.е .: Notice: Undefined variable: currday...

добавлять Отчет об ошибках в начало вашего файла (ов), который поможет найти ошибки.

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

Примечание: Отчеты об ошибках должны выполняться только на стадии подготовки, а не на производстве.


Кроме того, убедитесь, что ваша форма выглядит следующим образом:

//Form displays normally
echo "<form action='' method='post'>"; // or get. I have no idea what you're using
echo "<input type='text' name='name'>";
echo "<input type='submit' name='submit'>";
echo "</form>";

…так как вы не включили это в свой вопрос. Просто чтобы убедиться, что нет синтаксических ошибок.

2

Другие решения

используйте оператор или, чтобы упростить вашу логику, и тогда нет необходимости использовать разрыв.

   if ($wkday == "Sun" || $wkday == "Sat") {
$noaccess = "yes";
} else {
$noaccess = "no";
}
1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector