わからないこと
- codeigniterのコントローラを用いたときにreturnで返すviewにurlのパスを追加したいと思っております、パラメータではないのですが、例えば
- urlが{sample}/index.phpでコントローラがtestの時、returnで返すview(ans.php)のurlに後ろにasnというパスを追加して、{sample}/view/ansというふうにしたいです、この時どの様な処理を行えばいいのでしょうか?教えていただけると幸いです。
- パスを追加する理由としましてはコントローラの処理を分けたいと考えているからです。
- つまりurlが追加されることで
public function ans (){ }
が使える様にしたいと考えております。
「returnで返すviewにurlのパスを追加」するとどうなることを期待していますか? 単にviewが返すHTMLでフォーム送信先urlにつけるだけとは違うのですか? 誤解を招きやすいので、もう少し丁寧にページ遷移図を伴って説明なさったほうがよろしいかと存じます。
URLに .php など拡張子が入るようなことはフレームワークではほぼないと思うのですが、あえてそうしたいのはどういう意図でしょうか。
説明が間違っておりました、URLにパスを追加することで関数の中の処理を分けたいと考えております、具体的にはformの2種類のボタンを作成し、そのボタンによってurlが変わってそれぞれ次の関数を使える様にしたいと考えております。
同じnameでボタン作って別のvalueを設定して受け取ったコントローラでvalueによる分岐を行えば良いように思います。
ラジオボタンと同じ原理で、押したボタンのvalueだけがリクエストに含まれます。
それも考えたのですが、送信フォームを考えてたときに確認画面を作成したいと考えております。
そのためまずはボタンを押して確認画面へ遷移、その後、修正、完了ボタンで条件分岐させて、もし完了ボタンを押したら完了しました画面に遷移、修正ボタンを押したら送信フォームの画面に戻るという処理を考えています、この時送信フォームと確認画面をurlを分けることで行ったり来たりする流れを作りたいと思っています。拙い日本語ですみません
いずれにしてもセッションに入力値保持することになるので、私の提示したやり方で可能と思います。
確認画面で値を送信しなくてもできます。
ちなみに、「{sample}」って何のことでしょうか。 example.com というサイトだとして、example.com/sample/ans としたいということなのでしょうか。それとも example.com/ans にしたいのでしょうか。