2013-04-22 2 views
2

Рыбалка в неизведанных водах, я дал klein.php прокладывание спина и не могу для жизни меня узнать, как передать $ _POST из html-формы в другой вид.

Пример:

index.php

<?php 
//START ROUTING 
require 'klein.php'; 
require 'autoload.php'; 

respond('/', function ($request, $response) { 
    $response->render('homepage.php', array(
     'meta_title' => 'My Homepage' 
    )); 
}); 
respond('/[:name]', function ($request, $response) { 
    $response->render('siteinfo.php', array(
     'meta_title' => 'My Details Page' 
     )); 
}); 

Теперь у меня есть форма на homepage.php где я следующее:

<form method="post"> 
    <input type="text" name="url"> 
    <button type="submit">Submit</button> 
</form> 

siteinfo .php захватывает все, что передается после URL (т. е. пример. com/product123 -> product123) и отображает информацию об этом в представлении «siteinfo.php». Пока это отлично работает с указанным выше кодом, если ввести его вручную в адресную строку, так как я могу получить доступ к [: name] как имя $ request-> на siteinfo.php.

Всякий раз, когда я запускаю поиск по форме, я хотел бы передать $ _POST из view.php в index.php как [: name] без $ _GET! Любая идея, как это работает с klein.php или где я должен начать искать ответы?

Я также попытался передать значение param(), но это все еще не работает с формой. Я также попытался добавить действие = index.php/siteinfo.php/homepage.php в действие форме, но до сих пор нет любви ...

Любая помощь очень apprechiated ...

+0

Вам не нужно реагировать («POST» ...? – karmafunk

+0

да, но как и где? Что мне нужно пройти в форме, так что будет правильно направлен на index.php, как example.com/product123? – uberconversion

+0

все еще ищет ответ. кто-нибудь? – uberconversion

ответ

2

Это будет хорошим место для начала. что ты уже испробовал?

respond('POST', '/', function ($request, $response) { 

    $request->validate('url')->notNull(); 

    $response->url= $request->url; 

    $response->render('homepage.php'); 
});