传递参数时出错


Error with passing parameters

将参数传递给身份验证类中的登录函数时,我收到以下错误:

注意:未定义的索引:用户在 C:''Users''Adam''PhpstormProjects''website''login.php 第 11 行注意:未定义的索引:在第 12 行传入 C:''Users''Adam''PhpstormProjects''website''login.php

这是我在身份验证类中的函数

 public function login($user,$pass){}

这是登录名.php参数从中传递

 $authenticateUser = new authenticate();
 $queryResult = $authenticateUser->login(($email),($password));

有人明白为什么我会收到这些错误吗?

检查包含输入字段的 HTML 表单,以确保您具有正确的标签名称。

<input type="text" name= "user" value=""/>
<input type="text" name= "pass" value=""/>

并确保你传递的是 POST,如 method="POST" 而不是 GET。

然后在 PHP 页面上打印你的 $_POST 和 $_GET 的第一件事,然后 exit() 检查你是否真的得到了输入。

print_r($_POST);
print_r($_GET);
die("Done...");

然后,您必须验证您的 POST 数组,以查看用户是否确实在表单中键入某些内容,而不是将其提交为空。我想你已经有一个可以与你的框架一起使用的验证类,如果没有,那么至少可以简单地验证。

if(isset($_POST["user"]) && !empty($_POST["user"]) && strlen($_POST["user"])>1)
{
//do your stuff
}
 else
{
//show error
}

尝试此操作以确保传递变量:

if ((isset($_POST['user'])) and (isset($_POST['pass']))) {
   $queryResult = $authenticateUser->login($_POST['user'],$_POST['pass']); 
}