PHP在方法调用中将输入值作为参数发送

时间:2012-10-22 16:17:26

标签: php

我是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函数。它返回一个String:

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

如何在提交表单时使用该String作为导航?

2 个答案:

答案 0 :(得分:3)

几个问题:

1)$POST应为$_POST

2)checkUser()是否返回包含表单操作的字符串?这就是你的代码目前在做什么..?

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

形式:

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

然后在PHP方面:

<?php
if ($service->checkUser($_POST['name'], $_POST['password']))
{
  // do something
}

答案 1 :(得分:0)

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

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

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