我正在尝试创建一个动态的 if 语句。我想这样做的原因是因为我需要在服务器端检查输入字段是否与我的正则表达式匹配并且不为空。但是,我的一些输入字段可以在我的 CMS 中删除,这意味着相应地会有更多/更少的输入字段。
理想情况下,我会在我的 if 语句中添加变量,但我不能 100% 确定是否允许这样做,所以也许我需要另一种方法来解决这个问题。这是我尝试过的:
if ($f_naw['streetname'] == 1)
{
$streetname= $_POST['streetname']; //Used in INSERT query
$cstreetname = " || $_POST['streetname'] == ''"; //Used to check if field is empty
$pstreetname = " || !preg_match($streetnameReg,$_POST['streetname'])"; //Used to check if it matches my regex
}
else
{
//These variables define variables if inputfields are not shown
$streetname= ''; //No streetname means it's excluded in INSERT query
$cstreetname = ''; //Not needed in check
$pstreetname = ''; //Also not needed in check
}
// more of these if/else statements
if ($_POST['firstname'] == '' || $_POST['lastname'] == '' || $_POST['email'] == '' $cstreetname $cpostalcode $chometown $ctelnr $csex $cdateofbirth)
{
echo 'One of the fields is empty.';
header('refresh:3;url=index.php');
}
else
{
//Regex check, after that more code
}
我的想法是检查前端是否显示了特定字段,在这种情况下,我正在创建一些我想粘贴到我的 if 语句中的变量。
我收到一条错误消息,提示服务器错误,这意味着我的 php 代码无效。
甚至有可能做出动态的 if 语句吗?如果是,我在哪一部分失败了?
非常感谢您的帮助!提前致谢。