如果我设置
$USER = (isset($_POST['username']));
用php在db put' 1'中有0个错误 BUT 而是用户在HTML输入上写的,如果我把
`$USER = $_POST['username'];`
Notice: Undefined index: username in __FILE__ on line 5
这在db中设置了什么用户放入HTML输入,但得到错误
(抱歉我的英语不好;我知道这太糟了!)
答案 0 :(得分:3)
请尝试以下方法: -
if (isset($_POST['username'])) {
$USER = $_POST['username']);
}
As,isset()
是一个以布尔值给出返回值的函数,即; 1或0
答案 1 :(得分:1)
执行此操作时:
$USER = (isset($_POST['username']));
您检查是否设置了$_POST['username']
并将此结果(true或false)设置为$USER
您想要做的是:
if (isset($_POST['username'])) // You check if username is set.
{
$USER = $_POST['username'];
// your query
}
else
{
// return error if isn't set.
}
答案 2 :(得分:1)
首先,isset()
是一个检查操作数类型,如果为真则返回1,如果为假则返回0,具体取决于是否存在。我想你得到了为什么这总是输出并在数据库中保存1。
所以它应该是$USER = $_POST['username'];
但是你得到Notice: Undefined index: username in __FILE__ on line 5
的原因是因为当你第一次进入那个页面时,它不会发布任何内容。事实上,当时PHP不知道$_POST['username']
。当您提交表单时,php将知道并识别$_POST['username']
。
所以你需要检查如下:
if(isset($_POST['username'])){
echo $_POST['username'];
}
希望它会起作用并让你理解这个问题。
问候。