我正在使用PHP并访问我的主类,但它显示此错误"
致命错误:调用未定义的方法MainClass :: filterUser()in C:\ Users \ ianga_000 \ Desktop \ asd - 在第18行"
复制\ root \ MerckThesis \ ForgotPassword.php
filterUser方法在我的Main Class中。
这是我的php代码
<form action="ForgotPassword.php" method="POST">
User Name:<input type="text" name="txtUserName" value="" ?/><br/>
<?php
include_once("MainClass.php");
$MainClass = new MainClass;
if(isset($_POST["btnSubmit"]))
{
$username=$_POST['txtUserName'];
$MainClass -> filterUser($username);
session_start();
$MainClass -> mailForgotPassword($_SESSION['email'],$_SESSION['password']);
}
?>
<input type="submit" name="btnSubmit" value="Submit" />
</form>
这是我的主类中的代码
<?php
class MainClass
{
function filterUser($username)
{
require 'Connection.php';
$strSQL="SELECT * FROM users where userName='$username'";
$rs = mysql_query($strSQL);
$result=mysql_fetch_array($rs);
if($result)
{
$_SESSION['email']=$result["email"];
$_SESSION['password']=$result['password'];
}
mysql_close($con);
}
}
?>
编辑:恰好我的MainClass搞砸了,而且函数在主类之外
答案 0 :(得分:0)
我想,您的类代码应如下所示(因为您必须使用mysqli或PDO替换mysql方法):
class MainClass {
public function filterUser($username)
{
require 'Connection.php';
$strSQL="SELECT * FROM users where userName='$username'";
$rs = mysql_query($strSQL);
$result = mysql_fetch_array($rs);
if($result)
{
$_SESSION['email']=$result["email"];
$_SESSION['password']=$result['password'];
}
mysql_close($con);
}
}
在这种情况下,您的方法(不是静态函数!)将可用,例如,测试此代码:
include_once("MainClass.php");
$MainClass = new MainClass();
$MainClass->filterUser("testuser");