Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php CodeIgniter中的链路和控制器_Php_Codeigniter - Fatal编程技术网

Php CodeIgniter中的链路和控制器

Php CodeIgniter中的链路和控制器,php,codeigniter,Php,Codeigniter,我刚刚开始使用这个框架,我对MVC概念还相当陌生。现在,我正在遵循有关官方文档的教程,我的控制器如下所示: 我还有一个home.php文件和主页: <?php $this->load->helper('url');?> <div> <p>This is the home page</p> </div> <a href="<?php echo base_url()./index.php/pages

我刚刚开始使用这个框架,我对MVC概念还相当陌生。现在,我正在遵循有关官方文档的教程,我的控制器如下所示:

我还有一个home.php文件和主页:

<?php $this->load->helper('url');?>
<div>
    <p>This is the home page</p>
</div>
    <a href="<?php echo base_url()./index.php/pages/goto/about;?>">About</a>
<div id="content">
    <form method="post" action="">
        <div>
            <label for="username">Username:</label>
            <input type="text" name="username"/>
        </div>
        <div>
            <label for="password">Password:</label> 
            <input type="password" name="password"/>
        </div>
        <div>
            <input type="submit" value="Login"/>
        </div>
    </form> 
</div>

这是主页

用户名: 密码:
到目前为止,一切正常,但我如何添加和使用新链接?我的意思是,假设你在主页上有一个链接列表;当用户单击其中一个链接时,我应该如何处理请求?我应该让他们通过“页面”控制器吗?我应该为网站的每个页面创建一个新的控制器吗

在第一种情况下(对我来说,这听起来更符合逻辑),如何根据用户单击的链接正确重定向用户

任何帮助都将不胜感激

我该如何处理这些请求

标准方法是
控制器/方法/
,但当然你们可以使用路由器

我应该让他们通过“页面”控制器吗

视情况而定。那些
页面是否与控制器相关?如果是,则包括。如果没有,就不要。重点是,将相关内容集中在一个控制器下。您不希望在
页面
控制器中说出管理功能。你知道吗

我应该为网站的每个页面创建一个新的控制器吗

答案很简单。不,原因在上面

在第一种情况下(对我来说,这听起来更符合逻辑),如何根据用户单击的链接正确重定向用户


还是第一点

通常,您可以编写一个控制器/视图/模型并处理任意数量的页面,您需要将页面标题、页面正文和/或其他内容存储(数据库)在某个位置,以便可以轻松地动态生成/缓存和操作。@GeoPhoenix非常感谢您的评论。你能举例说明你在说什么吗?首先,非常感谢你的回答。“pages”是控制器,但问题是目前它只将我重定向到主页。假设我有类似于“”的内容,这会将我重定向到“关于”页面,而无需通过控制器。这在MVC概念中正确吗?
将显示404错误页面,除非您在路由器中使用规则。如果您确实使用路由器以
页面/about
的形式说
关于
,尽管在url中您只能看到
关于
[方法],它仍然会进入
页面
控制器。很抱歉,我没有跟随。事实上,它给了我一个404错误,我应该如何改变链接使其工作?我尝试了“”,但它告诉我该页不存在…假设您的控制器是
page
,方法是
about
。链接应该是,
。重要提示:别忘了加载url帮助程序。我已经更新了示例代码,向您展示了我目前拥有的内容,因为我似乎无法使其正常工作:(
<?php $this->load->helper('url');?>
<div>
    <p>This is the home page</p>
</div>
    <a href="<?php echo base_url()./index.php/pages/goto/about;?>">About</a>
<div id="content">
    <form method="post" action="">
        <div>
            <label for="username">Username:</label>
            <input type="text" name="username"/>
        </div>
        <div>
            <label for="password">Password:</label> 
            <input type="password" name="password"/>
        </div>
        <div>
            <input type="submit" value="Login"/>
        </div>
    </form> 
</div>