現在、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で質問しましょう!
似たような質問が見つかりました
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP php ログイン 1 2022/11/01 00:24
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
『μg』の読み方と意味。
-
NumericUpDownの数値を選択済み...
-
コンピュータ言語paythonのエデ...
-
名古屋の栄と錦は治安悪い?
-
VB.NET でのLaod/unLoad につ...
-
宮迫のフライデー、誰がリーク...
-
perlのエラー処理
-
mailの送信音がしなくなったの...
-
一部の文字のみ文字化けします
-
テキストボックスからフォーカ...
-
php,htmlのエディターでutf-8固...
-
フォームを開く時のイベント処理
-
php_pdo.dllについて
-
受け取った値が"undefined"と表...
-
外部出力が無いドラレコからリ...
-
メモリリーク対策
-
popen は pclose しないといけ...
-
ヒント表示について
-
PHPのみで、動的なセレクトボッ...
-
画像処理のラプラシアンフィル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
名古屋の栄と錦は治安悪い?
-
『μg』の読み方と意味。
-
NumericUpDownの数値を選択済み...
-
VB.NET でのLaod/unLoad につ...
-
フォームを開く時のイベント処理
-
VB.NETのテキストボック...
-
一部の文字のみ文字化けします
-
テキストボックスからフォーカ...
-
項目数は英語で
-
エアー漏れの流量の計算式を教...
-
コンピュータ言語paythonのエデ...
-
vba メモリーリーク
-
ヒント表示について
-
C++の例外処理
-
C#での変数スコープ?
-
受け取った値が"undefined"と表...
-
シリアルフラッシュメモリをな...
-
ブック開いたときのフォーカス指定
-
globalと$GLOBALSの違いは?
-
宮迫のフライデー、誰がリーク...
おすすめ情報