0

我是 PHP 新手,正在尝试复制 JavaBeans/JSF 分配...

我需要在 Service 类中调用一个方法来验证用户名和密码。

我的 index.php 顶部有这个 php:

<?php 
include("Service.php");
$service = new Service();
if($_POST) {
    if (!$service->checkUser($_POST['name'], $_POST['password'])) {
        $error = "Username and password incorrect";
        echo $error;
    }
}?>

Mu 表单动作调用它自己的文档:

<form action="index.php" method="post">

我有 2 个输入字段(名称、密码),如下所示:

我的 Service.php 类具有函数 checkUser。它返回一个字符串:

public function checkUser($name, $password) {
    foreach($this->users as $user) {
        if ($user->getName() == $name && $user->getPassword() == $password) {
            return "welcome.php";
        }
        else
            return "error.php";
    }
}

提交表单时如何使用该字符串作为导航?

4

2 回答 2

3

几个问题:

1)$POST应该是$_POST

2) 是否checkUser()返回包含表单操作的字符串?因为这就是您的代码当前正在执行的操作..?

在我看来,您应该发布到 PHP 脚本,可能与您已经使用的文件名相同,然后调用该checkUser方法:

形式:

<form action="/" method="post">
..
</form>

然后在PHP端:

<?php
if ($service->checkUser($_POST['name'], $_POST['password']))
{
  // do something
}
于 2012-10-22T16:18:37.553 回答
0

将 action 属性留空,并在页面顶部编写以下代码

  <?PHP
       if($_POST){
               if (!$service->checkUser($_POST['name'], $_POST['password'])){
                     $error = "Username and password incorrect";
               }
       }
  ?>

在此处包含您的功能,并在表单上方回显此错误

于 2012-10-22T16:31:21.880 回答