如何解决 Slim 框架错误“404 Page Not Found”?
How to resolve the Slim framework error "404 Page Not Found"?
我正在为我的项目使用 Slim 框架。我已将 Slim 文件夹复制到我的项目目录中。
以下是我遇到问题的代码:
HTML代码(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 找不到页面 消息出现在浏览器上 window.
控件没有进入为地图编写的函数内部。我在调试过程中对此进行了测试。
有人可以找出我在这里犯的错误吗?
提前致谢。
根据 Slim 文档,您缺少前导 /:
$application->map('/products(/:id)') ...
我正在为我的项目使用 Slim 框架。我已将 Slim 文件夹复制到我的项目目录中。
以下是我遇到问题的代码:
HTML代码(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
当我通过输入一些数字(例如 9565665)提交 HTML 表单时,404 找不到页面 消息出现在浏览器上 window.
控件没有进入为地图编写的函数内部。我在调试过程中对此进行了测试。
有人可以找出我在这里犯的错误吗?
提前致谢。
根据 Slim 文档,您缺少前导 /:
$application->map('/products(/:id)') ...