您好我想在检查用户输入时是否使用Preg_Replace函数是否输入任何值。如果没有给出错误消息,如'请输入你的名字',但我没有收到此错误:
注意:未定义的索引:C:\ xampp \ htdocs \ spdealers \ Admin中的buildingslabs 第24行的Panel \ Property_Insert_Page_exe.php
这是我的代码:
<?php
$buildingslabs = preg_replace("[^A-Z a-z0-9]", "", $_POST['buildingslabs']);
if(empty($buildingslabs)
{
echo 'Plese Enter the Buildings Labs';
}
else
{
echo 'successfully inserted';
}
?>
答案 0 :(得分:1)
在这里使用isset
if(isset($_POST['buildingslabs'])) {
$buildingslabs = preg_replace("[^A-Z a-z0-9]", "", $_POST['buildingslabs']);
if(empty($buildingslabs)
{
echo 'Plese Enter the Buildings Labs';
}
else
{
echo 'successfully inserted';
}
}
答案 1 :(得分:0)
<?php
if(!empty( $_POST['buildingslabs'])){
$buildingslabs = preg_replace("[^A-Z a-z0-9]", "", $_POST['buildingslabs']);
if(empty($buildingslabs)
{
echo 'Plese Enter the Buildings Labs';
}
else
{
echo 'successfully inserted';
}
}
else{
echo 'Plese Enter the Buildings Labs';
}
答案 2 :(得分:0)
Notice: Undefined index: buildingslabs in C:\xampp\htdocs\spdealers\Admin
Panel\Property_Insert_Page_exe.php on line 24
它表明您在$ _POST ['buildingslabs']中的索引不存在。请尝试检查您的输入文字名称。
答案 3 :(得分:0)
该错误不在preg_replace中。
使用
if(empty($_POST['buildingslubs'])) $_POST['buildingslubs'] = '';
答案 4 :(得分:0)
通知不是来自preg_replace()
;相反,您尝试访问$_POST['buildinglabs']
但未发布buildinglabs
参数。
我会转换正则表达式并使用filter_input()
:
$labs = filter_input(INPUT_POST, 'buildingslabs', FILTER_VALIDATE_REGEXP, [
'options' => ['regexp' => '/^[A-Z a-z0-9]+$/'],
'flags' => FITLER_NULL_ON_FAILURE,
]);
if ($labs !== null) {
// do something
}
如果未发布参数(可能是GET请求或POST中缺少某些内容),$labs
将为null
。
如果没有,正则表达式会尝试验证整个字符串(从开始到结束),所有字符都在给定的字符集中。