如何解决Slim框架错误" 404 Page Not Found"?

时间:2015-01-18 17:55:11

标签: php post dictionary get slim

我正在为我的项目使用 Slim framework 。我已将Slim文件夹复制到我的项目目录中。

以下是我遇到的代码:

HTML code(multiplemethods.html):

<html>
  <head>
    <title>Multiple Methods Routing Demo</title>
  </head>
  <body>
    <form action="multiplemethodsroute.php/products" method="GET">

            product id <input type="text" name="id" />
            <br/>
            <input type="submit" />
    </form> 
  </body>   
</html>

PHP代码(multiplemethodsroute.php):

<?php

    require 'Slim/Slim.php';

    /* Invoke the static "registerAutoloader()" function defined within Slim class. 
     * Register the autoloader is very important. 
     * Without doing it nothing will work.
    */ 
    \Slim\Slim::registerAutoloader();

    //Instantiate Slim class in order to get a reference for the object.
    $application = new \Slim\Slim();

    $application->map(
        'products(/:id)', 
        function()
        { 
            global $application;
            $id = $application->request->get('id');
            if($id == null)
            {
                $id = $application->request->post('id');
            }
            echo "showing info about product #".$id;
        })->via('GET','POST');      

    $application->run();
?>

两个文件即。 multiplemethods.html和multiplemethodsroute.php存在于位于/var/www/slimsamples的同一目录“slimsamples”

当我通过输入一些数字9565665提交HTML表单时,浏览器窗口中会出现 404 Page not found 消息。

控件不会进入为map编写的函数内部。我在调试过程中对此进行了测试

有人可以找出我在这里犯的错误吗?

提前致谢。

1 个答案:

答案 0 :(得分:2)

根据Slim文档,您缺少前导/:

$application->map('/products(/:id)') ...