if(isset($_POST[“Name”]==null $_POST[“Email”]==null,$_POST[“Password”]==null,$_POST[“Phone”]==null))在php中有什么问题

omtl5h9j  于 2023-03-28  发布在  PHP
关注(0)|答案(2)|浏览(93)

我有一个数据库,并希望检查是否设置的元素或没有之前,他们传递到数据库,因为我不想传递空值的实体提到,但在使用此语句时,我发现值传递没有被检查的可用性。
我试图将这些元素传递到数据库,但首先检查null,它们没有检查null,有时也会出现以下错误:
致命错误:无法在C:\xampp\htdocs....第3行的表达式结果上使用isset()(可以使用“null!== expression”代替)

6jjcrrmo

6jjcrrmo1#

isset函数的工作方式不同,您需要将变量放入其中,而不是条件。
例如:

$arr = [
  'a' => 'Hello',
];

$bool = isset($arr['a']) // return true
$bool = isset($arr['b']) // return false

本页detailed
让我们尝试编写以下代码来修复代码中的错误。

if (
  !isset($_POST["Name"]) ||
  !isset($_POST["Email"]) ||
  !isset($_POST["Password"]) ||
  !isset($_POST["Phone"])
) {
  // some fields is null, not valid.
}

if (!isset($_POST["Name"], $_POST["Email"], $_POST["Password"], $_POST["Phone"])) {
  // some fields is null, not valid.
}
uurity8g

uurity8g2#

如果你不想被插入空值,你可以在数据库中阻止它:

CREATE TABLE User(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255) NOT NULL

);
也可以在html文档中使用require属性:

<form action="/action_page.php"> 
     <input type="text" id="username" required>  
 </form>

相关问题