未知の海域で釣りをして、klein.phpルーティングにスピンを与えましたが、私の人生では、html フォームから別のビューに $_POST を渡す方法を見つけることができません。
例:
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 の後に渡されたもの (つまり、example.com/product123 -> product123) を取得し、それに関する情報をビュー "siteinfo.php" に表示します。[:name] は siteinfo.php の $request->name としてアクセスできるため、これまでのところ、上記のコードをアドレス バーに手動で入力すると完全に機能します。
フォームで検索をトリガーするたびに、$_POST を $_GET なしで [:name] として、homepage.php ビューから index.php に渡したいと思います。これが klein.php でどのように機能するか、またはどこから答えを探し始める必要があるか考えていますか?
私も param() 値を渡そうとしましたが、これはまだフォームでは機能しません。また、フォームのアクションとして action=index.php/siteinfo.php/homepage.php を追加しようとしましたが、それでも愛はありません...
どんな助けでも大歓迎です...