Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 注意:未定义索引_Php_Mysql - Fatal编程技术网

Php 注意:未定义索引

Php 注意:未定义索引,php,mysql,Php,Mysql,我有一个复选框,可以使帖子密码受到保护- <p><strong><label for="password">Password protect?</label></strong> <input type="checkbox" name="password" id="password" value="1" /></p> 我得到了未定义的索引错误 现在,如果我尝试先检查密码是否已设置,执行时会出现相同的错误- $sq

我有一个复选框,可以使帖子密码受到保护-

<p><strong><label for="password">Password protect?</label></strong> <input type="checkbox" name="password" id="password" value="1" /></p>
我得到了未定义的索引错误

现在,如果我尝试先检查密码是否已设置,执行时会出现相同的错误-

$sql = "INSERT INTO blog (timestamp,title,entry,password) VALUES ('$timestamp','$title','$entry','$password')";

$result = mysql_query($sql) or print("Can't insert into table blog.<br />" . $sql . "<br />" . mysql_error());
$sql=“插入博客(时间戳、标题、条目、密码)值(“$timestamp”、“$title”、“$entry”、“$password”)”;
$result=mysql\u query($sql)或print(“无法插入到表blog中。
。”$sql。”
。”.mysql\u error());

我怎么修理它?是否必须对每个字段(如标题文本框和所有字段)执行此操作?

为什么要剥离标记并转义布尔值?你可以这样做:

$password = (isset($_POST['password']) && $_POST['password'] == 1) ? 1 : 0;
或:


您可能第二次收到未定义的变量警告。例如,无论是否设置了_POST[xyz],您都可以确保设置了$password

$password = isset($_POST['password']) ? $_POST['password'] : '0';
请参见

您收到了未定义的索引,因为您正在访问一个不存在的数组索引

在设置之前,应确保已设置该值:

if (isset($_POST['password'])) {
   $password = $_POST['password'];
}

仅当选中复选框时,才会返回复选框值。因此,如果未选中密码复选框,则在
$\u POST
数组中不存在键
password

你可以做:

$password = array_key_exists('password', $_POST) ? '1' : '0';

我觉得走
if
语句路线与条件运算符相反是老派的做法:(
if (isset($_POST['password'])) {
   $password = $_POST['password'];
}
$password = array_key_exists('password', $_POST) ? '1' : '0';