php - 每当在 if 循环中更改变量时,将布尔值从 false 切换为 true,如果更改包含表单
问题描述
我将错误捕获变量设置为 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,然后允许再次尝试。如果没有错误,则回显“成功”消息。
解决方案
推荐阅读
- javascript - 从 npm 请求中检索 redirectUri
- c++ - 数组中的最大/最小?
- javascript - 在函数中嵌套 jQuery 函数
- c++ - 来自txt文件的总和浮点数,一行字符串后跟一个整数c ++
- android - 如何通过`build.gradle`将配置应用于嵌套模块
- vue.js - vuetify 自动完成允许芯片之间的未知项目
- android - Android - 如何在 OnCreate 中使用 viewmodel 来处理在屏幕旋转时不会被调用的 http 调用?
- php - SQL语句中变量中的撇号
- c - 插入二维字符数组后在 C 中打印的错误结果
- python - 我在使用 for 循环时遇到语法错误