• ベストアンサー

cakePHP Controller.php

http://libro.tuyano.com/index3?id=738001&page=3 のページの比較的、上の方をやっているのですが SampleController.phpのフォルダを作る ↓ SampleController.phpの中にindexという拡張子なしのデータを作る 手順としてはそれで合っているのでしょうか? (試しては見たのですが上手く行かなくて...)

質問者が選んだベストアンサー

  • ベストアンサー
  • WDY
  • ベストアンサー率27% (121/433)
回答No.1

AppController.php を継承したSampleController.phpに indexメソッドを作るという事です サンプルソースを見てみてください

shin11shin
質問者

お礼

ありがとうございます

関連するQ&A

  • CakePHPのFormHelperについて

    先日から、CakePHPを下記のサイトを利用しながら勉強し始めた。 しかし、Form Helperの所でつまずいてしまい、アドバイスを頂きたく質問させて頂きました。 ディレクトリの構成ですが、 MacでMAMPを使用していて、「htdocs」の中に「cake」というフォルダーを作成し、 その中に「app」、「lib」、「plugins」といったcakephpのファイルやフォルダをおいています。 まず、http://libro.tuyano.com/index3?id=743002のレッスンで <form method="post" action="./form" name="form1"> の箇所でエラーが出て <form method="post" action="./sample/form" name="form1"> と修正しエラーを解決しました。 次にhttp://libro.tuyano.com/index3?id=743002&page=3のレッスンで 「samples」というテーブルがないとエラーが出たので「samples」というテーブルを作成しエラーを解決しました。 (レッスンにはテーブル作成に関しては何も書かれていなかったのですが…) つまずいてしまっているレッスンは、http://libro.tuyano.com/index3?id=743002&page=4です。 レッスン通り、作成すると Error: SamplesController could not be found. Error: Create the class SamplesController below in file: app/Controller/SamplesController.php の2つのエラーがでます。 index.ctpの$this->Form->create(null,array('type'=>'post','action'=>'.'));で 自分自身に飛ばすようになっていると思うのですがデバックしたページのソースをみると <form action="/cake/samples/." id="SampleForm" method="post" accept-charset="utf-8"> と「samples」と見覚えないフォルダーに飛んでいます。この箇所が問題ではと考えています。 色々と試してみたのですが、分からず困っています。 アドバイスよろしくお願いします。

    • 締切済み
    • PHP
  • ページの識別をクエリでやらせる意味は?

    ネット上で、以下のようなアドレスをもったサイトを見かけることがあります。 http://www.abc.com/?page_id=company http://www.abc.com/?page_id=product http://www.abc.com/?page_id=support http://www.abc.com/以降のファイル名が省略されていますが、おそらくindex.cgiだかindex.phpだかのサーバーサイドプログラムが置いてあって動作しているのだと思います。クエリpage_idの値を取得し、それによってプログラムで表示するページの内容を変えているのだと思いますが、なぜわざわざこのような方法と使っているのでしょうか?それぞれcompany.htmlまたはcompany/index.htmlのようにhtmlファイルを用意する方が簡単だと思うのですが。phpなどのプログラムはSEOに弱く、SEOを気にするなら文書データであるhtmlデータの方が良いと聞いたこともあります。

  • cakephpよりLaravel5の方が良いでしょ

    これから投稿型のWEBサービスを作りたいなら、cakephpよりLaravel5.2でしょうか? こちらなら新しくて問題ないでしょうか? http://laraweb.net/crud/ こちらの方がもっと新しいですか? http://libro.tuyano.com/index2?id=3766003 フリーランスで仕事を請けることも考えています また、これらフレームワークと、ライブラリの違いがいまいちわからないのですがフレームワークとはプラグインのように使える設定だけすればもう完成でき、セキュリティ面も初めから出来上がっているので、設置するだけで投稿サイトがセキュアに出来上がってしまうものなのでしょうか?

    • ベストアンサー
    • PHP
  • ログインした状態の外部phpファイルを、ログインした状態で出力したい

    すみません。もう何日も悩んでしまっているので、どなたかお知恵をお貸しください・・・PHP初心者なので、分かりづらい部分が多々あるかと思います。申し訳ないです。 【質問】 自分で借りているサーバーを http://www.○○○.com とします。 もうひとつ、他社で無料で会員制ショッピングカートのようなものを借りています。http://□□□.com/index.php とします。 http://www.○○○.com/index.php を作成し、ページの上部でその他社のショッピングカートではない部分(凝ったメニューや、タイトル部分)を表示させて、その後に <?php $flag=0; $_GET[site] = "http://□□□.com/index.php"; $page = @file($_GET[site]); if($page=="") die("Connection Failed"); echo "<base href='http://□□□.com/index.php'>"; while (list($num, $line) = each($page)){ if(eregi("</body",$line)){ $flag=2;} if($flag == 1){ echo $line; } if(eregi("<body",$line)){ $flag=1;} } ?> という感じで、そのショッピングカートページの<body>から</body>部分を出力させています。 カートページでは、ログインすると、ページ上部の右側にログインしました状態ですよ。という感じの表示が出ます。登録してある名前が出て、○○さん、ようこそ♪みたいな感じです。 上のようにカートページを引っ張ってきて表示させてる状態で、http://www.○○○.com/index.php からフォームよりログインしようとしても、そのログインしたよ。というような表示が出ません。 ちなみに、ログインフォームは action="http://□□□.com/index.php" でメゾットがPOSTです。 login_idとlogin_passをフォームで送信して、ログイン状態にしているようです。 どうしたら、ログインした状態のカートページを出力できますでしょうか?

    • 締切済み
    • PHP
  • phpのindexについて

    よくわかるphpの教科書という参考書を読んで掲示板やログイン方法などを学んでいるのですが、sampleというフォルダの中にindex.phpとlogin.phpがあります。 普通でしたらindex.phpが先に開かれると思いますがここではなぜかsampleというフォルダを開くとlogin.phpにアクセスし、そのページでログイン処理をするとindex.phpにページが変わります。 これはいったいどのようにやるのでしょうか。 かなり初歩的な質問だと思いますがお時間のあるときに回答していただけると幸いです。

    • ベストアンサー
    • PHP
  • phpで動的タイトル

    phpで動的タイトルを作りたいのですが$page_titleが 表示できません。 body.phpに<html>~<body>を書きindex.phpに読み込み表示させ index.phpに$page_titleがあればタイトルに表示させるように したく下記のようにしてみましたが表示されませんでした。 試しにindex.phpの$page_titleを消すとタイトルの文字のみが 出力されるので値があるかについては大丈夫かと思うのですが どのようにすれば表示されるのでしょうか? ---body.php--- if($page_titel) { echo "<title>タイトル - ".$page_title."</title>\n"; } else { echo "<title>タイトル</title>\n"; } ---index.php--- $page_titel = "ページタイトル"; require_once "body.php";

    • ベストアンサー
    • PHP
  • よくわかるPHPの教科書のエラー?について

    わからないところがあるので教えて下さい。 (コード) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. w3.org/TR/xhtmll/DTD/xhtmll- transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <title>PHP入門</title> </head> <body> <?php require('dbconnect.php'); $page = $_REQUEST['page']; if($page =='') { $page =1; } $page = max($page, 1); //最終ページを取得する $sql ='SELECT COUNT(*) AS cnt FROM my_items'; $recordSet = mysqli_query($db, $sql); $table = mysqli_fetch_assoc($recordSet); $maxPage = ceil($table['cnt'] /5); $page = min($page, $maxPage); $start = ($page - 1) * 5; $recordSet = mysqli_query($db, 'SELECT m.name, i.* FROM makers m, my_items i WHERE m.id=i.maker_id ORDER BY id DESC LIMIT ' . $start . ',5'); ?> <p><a href="input.php">新しい商品を登録する。</a></p> <table width="100%"> <tr> <th scope="col">ID</th> <th scope="col">メーカー</th> <th scope="col">商品名</th> <th scope="col">価格</th> <th scope="col">編集・削除</th> </tr> <?php while($table = mysqli_fetch_assoc($recordSet)) { ?> <tr> <td><?php print(htmlspecialchars($table['id'])); ?></td> <td><?php print(htmlspecialchars($table['name'])); ?></td> <td><?php print(htmlspecialchars($table['item_name'])); ?></td> <td><?php print(htmlspecialchars($table['price'])); ?></td> <td><a href="update.php?id=<?php print(htmlspecialchars($table['id'])); ?>">編集</a> <a href="delete.php?id=<?php print(htmlspecialchars($table['id'])); ?>" onclick="return confirm('削除してもよろしいですか?');">削除</a> </td> </tr> <?php } ?> </table> <ul class="paging"> <?php if($page > 1) { ?> <li><a href="index.php?page=<?php print($page - 1); ?>">前のページへ </a></li> <?php } else { ?> <li>前のページへ</li> <?php } ?> <?php if($page < $maxPage) { ?> <li><a href="index.php?page=<?php print($page + 1); ?>">次のページへ </a></li> <?php } else { ?> <li>次のページへ</li> <?php } ?> </ul> </body> </html> 参考書?はよくわかるPHPの教科書5.5対応なのですが、一番初めにこのファイルを開くと Notice: Undefined index: page in C:\xampp\htdocs\shop\index.php on line 14っとエラー?が出ます。 次のページ、前のページを押すとエラー?は消えるのですが、とっても気になります。 なるべくなら、エラーを非表示にせずにプログラム内で問題を解決したいのですが・・・ 初心者なのでどうして良いかわかりません。 出来れば、とってもわかりやすい解決を出来ればお願いしたいです。(馬鹿なので・・・) よろしくお願いします。

    • ベストアンサー
    • PHP
  • .cgiのページにPHPは使えますか??

    たとえばindex.cgiのページにPHPを埋め込みたいとき、拡張子はどうすればいいのですか? PHPを使ったら、そのページの拡張子は.phpにしなければなりませんよね? 初歩的な質問ですみません。 回答お願いします。

    • ベストアンサー
    • CGI
  • 「未定義の変数」の定義について(PHP)

    ●質問の主旨 添付画像の左端に Notice: Undefined index: page in C:\xampp\htdocs\shop\index.php on line 3 ということで、未定義の変数ということでおしらせが出ています。 この表示を消すためにはどうすれば良いでしょうか? ご存知のかた、ご教示願います。 ●質問の補足 下記のコードで言えば、 $page =$_REQUEST['page']; のうち、pageが定義されていないことが、表示の原因である気がします。 しかし、どこをどう書き換えれば、表示が消えるのかが分かりません。 ●参考文献 たにぐちまこと「よくわかるPHPの教科書」(P210)の index.phpファイル ●開発環境 windows8 xammp1.8.1 ●コード <?php require('dbconnect.php'); $page =$_REQUEST['page']; if ($page == '') { $page = 1; } $page = max($page, 1); //最終ページを取得する $sql = 'SELECT COUNT(*) AS cnt FROM my_items'; $recordSet = mysql_query($sql); $table = mysql_fetch_assoc($recordSet); $maxPage = ceil($table['cnt'] / 5); $page = min($page, $maxPage); $start = ($page - 1) * 5; $recordSet = mysql_query('SELECT m.name, i. * FROM makers m, my_items i WHERE m.id=i.maker_id ORDER BY id DESC LIMIT ' . $start .',5'); ?> <!DOCTYPE html> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" type="text/css" href="style.css" /> <title>Webシステムをつくる</title> </head> <body> <div id="wrap"> <div id="head"> <h1>トップページ</h1> </div> <div id="content"> <p style="margin-top: 20px"> <table width="100%"> <tr> <th scope="col">ID</th> <th scope="col">メーカー</th> <th scope="col">商品名</th> <th scope="col">価格</th> </tr> <?php while ($table = mysql_fetch_assoc($recordSet)) { ?> <tr> <td><?php print(htmlspecialchars($table['id'])); ?></td> <td><?php print(htmlspecialchars($table['name'])); ?></td> <td><?php print(htmlspecialchars($table['item_name'])); ?></td> <td><?php print(htmlspecialchars($table['price'])); ?></td> </tr> <?php } ?> </table> <ul class="paging"> <?php if ($page > 1) { ?> <li><a href="index.php?page=<?php print($page - 1); ?>">前のページへ</a></li> <?php } else { ?> <li>前のページへ</li> <?php } ?> <?php if ($page < $maxPage) { ?> <li><a href="index.php?page=<?php print($page + 1); ?>">次のページへ</a></li> <?php } else { ?> <li>次のページへ</li> <?php } ?> </ul> </p> </div> <div id="foot"> <p><img src="images/txt_copyright.png" width="136" height="15" alt="(C) H2O Space. MYCOM" /></p> </div> </div> </body> </html>

    • ベストアンサー
    • PHP
  • phpでページ分けする方法を教えて下さい。

    1つのphpでいくつものページを作成したいのですが、 「index.php?id=index」でindexページ、 「index.php?id=profile」でproflieページ、 というふうにする方法があれば、教えて下さい。 宜しくお願いします。

    • 締切済み
    • PHP