Php 未定义的索引$\u POST,但已定义
我定义了一个Php 未定义的索引$\u POST,但已定义,php,undefined-index,Php,Undefined Index,我定义了一个$\u POST索引,但收到一条未定义的错误消息 代码如下: if (isset($_POST['submit']) AND ($_POST['userid']) AND ($_POST['firstname']) AND ($_POST['lastname']) AND ($_POST['address']) AND ($_POST['ZIP']) AND ($_POST['phonenumber']) AND ($_POST['mail']) AND ($_POST['grou
$\u POST
索引,但收到一条未定义的错误消息
代码如下:
if (isset($_POST['submit']) AND ($_POST['userid']) AND ($_POST['firstname']) AND ($_POST['lastname']) AND ($_POST['address']) AND ($_POST['ZIP']) AND ($_POST['phonenumber']) AND ($_POST['mail']) AND ($_POST['group']))
{
$result = $this->sendEmail(
$_POST['userid'], 'mail@mymail.com', 'mail@mymail.com', $_POST['firstname'], $_POST['lastname'], $_POST['address'], $_POST['ZIP'], $_POST['phonenumber'], $_POST['mail'], $_POST['group']
);
将isset()
应用于您的if中的每个$\u帖子
:
if (isset($_POST['submit']) AND
isset($_POST['userid']) AND
isset($_POST['firstname']) AND
isset($_POST['lastname']) AND
isset($_POST['address']) AND
isset($_POST['ZIP']) AND
isset($_POST['phonenumber']) AND
isset($_POST['mail']) AND
isset($_POST['group']))
{
$result = $this->sendEmail(
$_POST['userid'],
'mail@mymail.com',
'mail@mymail.com',
$_POST['firstname'],
$_POST['lastname'],
$_POST['address'],
$_POST['ZIP'],
$_POST['phonenumber'],
$_POST['mail'],
$_POST['group']
);
你可以这样写-
if (isset($_POST['submit']) AND
isset($_POST['userid']) AND $_POST['userid'] != "" AND
isset($_POST['firstname']) AND $_POST['firstname'] != "" AND
isset($_POST['lastname']) AND $_POST['lastname']!= "" AND
isset($_POST['lastname']) AND $_POST['lastname']!= "" AND
isset($_POST['address']) AND $_POST['address'] != "" AND
isset($_POST['ZIP']) AND $_POST['ZIP'] != "" AND
isset($_POST['phonenumber']) AND $_POST['phonenumber'] != "" AND
isset($_POST['mail']) AND $_POST['mail'] != "" AND
isset($_POST['group']) AND $_POST['group'] != "")
{
$result = $this->sendEmail(
$_POST['userid'], 'mail@mymail.com', 'mail@mymail.com', $_POST['firstname'], $_POST['lastname'], $_POST['address'], $_POST['ZIP'], $_POST['phonenumber'], $_POST['mail'], $_POST['group']
);
你也可以这样使用
if (isset($_POST['submit']) && isset($_POST['userid']) && isset($_POST['firstname']) && isset($_POST['lastname']) && isset($_POST['address']) && isset($_POST['ZIP']) && isset($_POST['phonenumber']) && isset($_POST['mail']) && isset($_POST['group']))
{
$result = $this->sendEmail(
$_POST['userid'], 'mail@mymail.com', 'mail@mymail.com', $_POST['firstname'], $_POST['lastname'], $_POST['address'], $_POST['ZIP'], $_POST['phonenumber'], $_POST['mail'], $_POST['group']
);
}
首先,我建议检查html本身,我假设该方法设置为POST,因为其他方法都在工作,但要仔细检查以确保安全!然后,另一个大错误是在输入上键入name字段时出错。检查html上的所有名称,确保拼写正确。另外,确保您有所有的结束标记和开始标记,以及开始/结束引号 另外,不要忘记将isset()添加到上述所有内容中。你也可以创建一个更好的函数,比如
function checkSet($var){
if(isset($var) && $var != ""){
return $var;
}else{
return false;
}
}
这将检查它是否为空字符串,以及它是否已定义。非常有用。如果您愿意,您也可以使用它通过执行return trim($var)来进行修剪。哪个索引没有定义?确切的错误消息是什么?请在if中的每个
$\u POST
上应用isset()
。请具体说明,上面哪一个参数未定义,请尝试打印$\u POST数组,并检查您在if中给定的所有元素是否都已出现。$userid
未定义。其余的都有用。我在每个$\u帖子上都应用了isset,但是该函数不会发送电子邮件,也不会返回错误。嗨,Suresh,我尝试了你的建议,但也没有成功:(如果我操作表单而不是按钮,我将传递此脚本并出现很多错误。你需要检查所有帖子