在PHP中使用MVC模式从视图文件调用控制器方法

在PHP中使用MVC模式从视图文件调用控制器方法,php,model-view-controller,Php,Model View Controller,我正在用MVC模式编写一个简单的PHP网站(我没有使用任何框架,因为对于这个网站,我不想使用它们)。 现在我被困在从视图调用控制器内部的方法上 我想创建一个登录表单,这是我拥有的: 我的观点 <?php include_once("controller/ControllerRegLog.php"); $mycontroller = new ControllerRegLog(); ?> <html> <head> <link rel=

我正在用MVC模式编写一个简单的PHP网站(我没有使用任何框架,因为对于这个网站,我不想使用它们)。 现在我被困在从视图调用控制器内部的方法上

我想创建一个登录表单,这是我拥有的: 我的观点

<?php

    include_once("controller/ControllerRegLog.php");
    $mycontroller = new ControllerRegLog();
?>  
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">    
</head>

<body>
<div id="header"></div>
<div id="container">
    <form id='register' action='????????' method='post'>
    <fieldset >
    <legend>Login</legend>
    <label for='username' >UserName:</label>
    <input type='text' name='username' id='username' />

    <label for='password' >Password:</label>
    <input type='password' name='password' id='password' />
    <input type='submit' name='Submit' value='Submit' />

    </fieldset>
    </form>

</div>
<div id="footer"></div>
</body>
</html>

登录
用户名:
密码:
这是我的控制器(ControllerRegLog.php)


最后是我的模型

<?php

class Model 
{
    public function checkLogin()
    {
         // here should go a database call to see if credentials for login are valid
    }   
}

?>

看风景。我不知道应该在action=“…”中写入什么,以便将表单值传递给控制器以检查凭据


我尝试了
ControllerRegLog/loginCheck

但结果不好(找不到页面),我认为这里没有足够的信息正确回答您的问题。请求是如何路由的?也许这可以解释为什么你会得到404。因为你没有使用框架,你也必须自己重新创建路由逻辑。因为您正在调用
ControllerRegLog/loginCheck
,而没有告诉脚本这意味着什么。(这就是使用框架的好处——这些任务都由您来完成:)您正在创建自己的MVC是令人钦佩的,但我认为您至少应该检查框架是如何工作的。例如,控制器应决定呈现哪个视图,控制器向模板发送变量等。(另一个示例)您可以使用htaccess根据访问的url指定哪个控制器(在路由类中)来实例化某个类和调用哪个方法(或显示404错误页).我认为这里没有足够的信息来正确回答你的问题。请求是如何路由的?也许这可以解释为什么你会得到404。因为你没有使用框架,你也必须自己重新创建路由逻辑。因为您正在调用
ControllerRegLog/loginCheck
,而没有告诉脚本这意味着什么。(这就是使用框架的好处——这些任务都由您来完成:)您正在创建自己的MVC是令人钦佩的,但我认为您至少应该检查框架是如何工作的。例如,控制器应决定呈现哪个视图,控制器向模板发送变量等。(另一个示例)您可以使用htaccess根据访问的url指定哪个控制器(在路由类中)来实例化某个类和调用哪个方法(或显示404错误页)。
<?php

class Model 
{
    public function checkLogin()
    {
         // here should go a database call to see if credentials for login are valid
    }   
}

?>