2

未知の海域で釣りをして、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 を追加しようとしましたが、それでも愛はありません...

どんな助けでも大歓迎です...

4

1 に答える 1