2016-02-19 2 views
2

Я надеюсь, что кто-то может мне помочь. У меня Slim установлен и работает. Проблема в том, что у меня есть HTML-форма, которая отправляется на перенаправленный URL-адрес, и он говорит, что «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? – isnisn

+0

в 'action = '../checkout/demo'' дать полный путь не' ../ '. Также добавьте расширение '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 ищет достаньте из формы и не пост.

+0

* Хм ... * У меня было такое чувство раньше, и я должен был упомянуть об этом с * get-go *. –