現在、cakePHPを使って、プログラムを行っているのですが、
その場合単純に'/'とする場合のみ、routeで実行できるのですが、
formからsubmitボタンが押されたとき、route.phpの名前を見て処理を実行させることができません。
formは、
<form action="<?php echo h($html->url('/blog/view')) ?>" method="post" style="margin-bottom:1em">
<p><?php echo $html->input('Task/content') ?>
<?php echo $form->submit("TEst", array("action" => "sample", "type" => "post")) ?>
</form>
として記述しています。
route.phpには、
Router::connect('/blog/:action', array('controller' => 'top', 'action' => 'cake', 'home'));
と記述しています。
考え方'/blog/:action'が、blog(コントローラー名)、actionがfunction action名() {}
なので、formから、blogコントローラーのviewアクションを実行するように指示を出し、
本来ならその手順に従い画面が表示される。
なのですが、
Object not found!
要求された URL は本サーバでは見つかりませんでした。 もし手入力で URL を入力した場合は、綴りを確認して再度お試し下さい。
サーバーの障害と思われる場合は、ウェブ管理者までご連絡ください。
Error 404
と表示される。
この場合の対策はどうすべきなのでしょうか?
つまり、formアクションで渡された引数をroute.phpのroute:connect()の指示の通りに実行し、画面を表示させたい。
宜しくお願いします。
No.1ベストアンサー
- 回答日時:
なにかいろいろ間違っているような気がします。
> Router::connect('/blog/:action', array('controller' => 'top', 'action' => 'cake', 'home'));
これで/blog/viewとしたら、topコントローラのviewアクションが呼ばれますが、意図したとおりですか?引数がhomeなのでしょうか。
$form->submit にもなぞのアクションが指定されてます。普通にsubmitボタンを表示してみては?
この回答への補足
回答ありがとうございます。
> Router::connect('/blog/:action', array('controller' => 'top', 'action' => 'view', 'home'));
これで/blog/viewとしたら、topコントローラのviewアクションが呼ばれますが、意図したとおりですか?
はい。その通りです。
>引数がhomeなのでしょうか。
今は、引数なしで設定しています。
一度のぞいて実行してみました。
>$form->submit にもなぞのアクションが指定されてます。普通にsubmitボタンを表示してみては?
一度、
<form action="<?php echo h($html->url('/blog/cake')) ?>" method="post" style="margin-bottom:1em">
<input type="submit" value="TEST">
</form>
に変更して実行してみました。
結果は変わりませんでした。
url('blog/')とすると、blog/index.phpが実行されるのですが、
本来url('blog/cake')とすると、blog_controller.phpのcakeアクションが実行されるのでしょうか?
動作しないので、ためしに
($html->url('/blog/)) 、
Router::connect('/blog/', array('controller' => 'top', 'action' => 'view', 'home'));
とした場合、
view.phpが実行されます。
index.phpを実行するのなら、簡単にできるのですが。。
blog/index.phpを実行するのなら、簡単に行えるのですが。
>なにかいろいろ間違っているような気がします。
どういったところなのでしょうか?
宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
名古屋の栄と錦は治安悪い?
-
テキストボックスからフォーカ...
-
HDDクラッシュするのはなぜ・・...
-
『μg』の読み方と意味。
-
VB.NETのテキストボック...
-
TextBoxにカーソルがあるかない...
-
C言語の関数の実引数と仮引数の...
-
HTTP_REFERERについて
-
友達がたこ焼きを上に投げて口...
-
word
-
数式中の文字をCambria Math以...
-
PowerPoint SmartArtの箇条書...
-
LINEのステメやプロ画は変える...
-
イラレでダブルクリックで文字...
-
capcutってアプリで質問です。 ...
-
Excel VBAで改行を含む文字列を...
-
Illustratorテキストエリアへ塗...
-
VBA超初心者です。
-
サクラエディタで二つのテキス...
-
Illustratorのテキストの更新に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
名古屋の栄と錦は治安悪い?
-
『μg』の読み方と意味。
-
NumericUpDownの数値を選択済み...
-
VB.NET でのLaod/unLoad につ...
-
テキストボックスからフォーカ...
-
VB.NETのテキストボック...
-
項目数は英語で
-
mailの送信音がしなくなったの...
-
シリアル通信について
-
vba メモリーリーク
-
CPUを2個搭載できるマザーボー...
-
フォームを開く時のイベント処理
-
TextBoxにカーソルがあるかない...
-
一部の文字のみ文字化けします
-
スマホが水に濡れてしまい、中...
-
C++の例外処理
-
PDFの余白、黄ばみ除去等の加工...
-
ob_start()した後、ob_flush()...
-
ヒント表示について
-
シリアルフラッシュメモリをな...
おすすめ情報