Переключение логического значения с ложного на истинное всякий раз, когда переменная изменяется в цикле if, если изменено, включает в себя форму

У меня для переменных перехвата ошибок установлено значение false, поэтому при каждой загрузке страницы сообщения об ошибках не выбрасываются. У меня есть переменная $error который изначально установлен как инициализатор, например $error = " ";, Всякий раз, когда есть ошибка, я хотел бы для $error чтобы быть установленным к сообщению, каждая ошибка повторяется, и если $error не совпадает с тем, что было изначально инициализировано, тогда он должен включать мою страницу формы, чтобы позволить пользователю повторить попытку.

Я пытался установить $error переменная в новую строку для указанной ошибки, например, «Вы не можете оставить ценовое поле пустым!» и в конце моего начального цикла if есть другой цикл if, проверяющий, $error был изменен, и если это было так, включите страницу формы снова. На данный момент мои переменные никогда не меняются и остаются только такими, какими они были изначально установлены.

$pError = false;
$cError = false;
$error = " ";

if(!isset($_GET['pPrice']) || (!isset($_GET['cPrice']))){ //if not set include form
include "form.php";
}
if(isset($_GET['pPrice']) && isset($_GET['cPrice'])){ //if set get variables from form
$pPrice = $_GET['pPrice'];
$cPrice = $_GET['cPrice'];
$validateP = filter_input(INPUT_GET, 'pPrice', FILTER_VALIDATE_FLOAT); //checks to see if value is a float
$validateC = filter_input(INPUT_GET, 'cPrice', FILTER_VALIDATE_FLOAT); //checks to see if value is a float

if(empty($_GET['pPrice']) && (empty($_GET['cPrice']))){ //both fields empty
$error = "<h2 class='error'>Please make sure you fill out all the fields!</h2>";
}
else if(empty($_GET['pPrice'])){ //first field empty
$error = "<h2 class='error'>Previous price can't be empty!</h2>";
}
else if(empty($_GET['cPrice'])){ //second field empty
$error = "<h2 class='error'>Current price can't be empty!</h2>";
}
else if(!$validateP && !$validateC){ //both fields have incorrect inputs
$error = "<h2 class='error'>Please enter numbers only!</h2>";
}
else if(!$validateP){ //first field has a incorrect input
$error = "<h2 class='error'>Previous Price must be a valid number!</h2>";
}
else if(!$validateC){ //second field has a incorrect input
$error = "<h2 class='error'>Current Price must be a valid number!</h2>";
}
else {
echo "Your results have been submitted!";
}

if (!$error == " ") {
$pError == true;
$cError == true;
echo $error;
include "form.php";
} else{
$pError = false;
$cError = false;
}
}

Ожидаемые результаты: если пользователь введет неправильное значение или не введет его вообще, обновите переменную $ error для этой конкретной ошибки, измените логическое значение с false на true, а затем разрешите еще одну попытку. Если ошибок нет, выведите сообщение об успехе.

0

Решение

Задача ещё не решена.

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

Других решений пока нет …

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