我有一个可以设置密码保护的复选框 -
<p><strong><label for="password">Password protect?</label></strong> <input type="checkbox" name="password" id="password" value="1" /></p>
Run Code Online (Sandbox Code Playgroud)
我的Php试图发布
$password = htmlspecialchars(strip_tags($_POST['password']));
Run Code Online (Sandbox Code Playgroud)
我得到未定义的索引错误.
现在,如果我首先尝试检查密码是否已设置,我会得到相同的错误 -
$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());
Run Code Online (Sandbox Code Playgroud)
我如何解决它?我是否必须为标题文本框等所有字段执行此操作?
为什么要剥离标签并转义布尔值?你可以这样做:
$password = (isset($_POST['password']) && $_POST['password'] == 1) ? 1 : 0;
Run Code Online (Sandbox Code Playgroud)
要么:
$password = isset($_POST['password']) ? (bool) $_POST['password'] : 0;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1506 次 |
| 最近记录: |