2016-02-19 118 views
2

我希望有人能幫助我。我有Slim安裝和工作。問題是我有一個提交到路由URL的HTML表單,它說「找不到404頁面」,但如果我手動去這個頁面而不提交表單,它工作正常。如果我使用GET,在提交表單時也可以正常工作。POST Form&Slim PHP

我上/存儲路由表

<form action='../checkout/demo' method='POST'> 
    <input name='fullname' id='fullname' type='text' placeholder='Fullname'> 
    <input name='email' placeholder='Email Address' type='text'> 
    <input name='address1' placeholder='Address' type='text'> 
    <input name='city' placeholder='City' type='text'> 
    <input name='state' placeholder='State' type='text'> 
    <input name='zip' placeholder='Zip/Postal Code' type='text'> 
    <button type='submit'>Pay for my Items Now!</button> 
</form> 

我的路由器

require "Slim/Slim.php"; 
\Slim\Slim::registerAutoloader(); 
$router = new \Slim\Slim(); 

$router->get("/store/:storeUrl", function ($storeUrl) { 
    //This just adds the form to this url 
    $controller = new Controller(); 
    $controller->mainStore($storeUrl); 
}); 
$router->get("/checkout/:storeUrl", function ($storeUrl) use ($router)   { 
    echo "string"; 
}); 
$router->run(); 

任何幫助將不勝感激!

+0

可能'action ='../checkout/demo''指向錯誤。這個表單位於哪裏?這是一個錯字與../checkout/demo ..你的意思../checkout/demo.php? 'action ='../checkout/demo''中的 – isnisn

+0

給出完整路徑而不是'../'。同樣也在那裏放置'demo'文件的擴展名。 –

+1

http://php.net/manual/en/function.error-reporting.php –

回答

0

感謝大家的幫助!

我只是得到它的工作通過改變:

$router->get("/checkout/:storeUrl", function ($storeUrl) use ($router) { 
    echo "string"; 
    print_r($_POST); 
}); 

$router->post("/checkout/:storeUrl", function ($storeUrl) use ($router) { 
    echo "string"; 
    print_r($_POST); 
}); 

修身PHP一直在尋找從形式GET,而不是一個職位。

+0

*嗯...... *我對此有一種感覺,應該從* get-go *中提到。 –