• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:includeされたphpの中でincludeを使用No.2)

includeされたphpの中でincludeを使用No.2

このQ&Aのポイント
  • phpファイル内でincludeを使用する方法について質問です。質問内容は、a.phpからb.phpを呼び出し、b.phpからc.phpを呼び出す構造になっています。ただし、a.phpで登録ボタンを押すと白紙が帰ってくるという問題が発生しています。
  • a.phpからb.phpを呼び出し、b.phpからc.phpを呼び出す構造のphpファイルで、登録ボタンを押すと白紙が返ってくる問題が発生しています。
  • includeを使用してphpファイル内で別のphpファイルを呼び出している際に、登録ボタンを押すと白紙が返ってくる問題が発生しています。

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

  • ベストアンサー
回答No.2

お礼と補足で混乱しているようですが・・・・。お礼だとサブミット先のURLがb.phpで、補足だとinclude_onceでb.phpを指定とあります。この両者は全くの別物です。良く分からないので、以下の回答が的外れだったらゴメンナサイ。 おそらくinclude_once関数の意味というか、PHPのようなサーバサイドスクリプトがどのように動作するのかを誤解している為、このような疑問が出てくるのだと思います。(誰でもひっかかる部分なのでお気に召されずに!) include_onceの用途は色々ありますが、一般的な使い方は色々なページから使いたい汎用の関数とかを別ファイルにしておき、それをスクリプト中から読み込む場合に使います。 つまり、一般的な使い方ではa.php→b.php→c.phpと進んでいくページで、a.php内でb.phpを読み込んだり、その逆をしたりする必要は全く無いです。a.php、b.php、c.phpで共通の関数を使いたい場合、それをlib.phpとかにしておき、書くファイルからincludeする訳です。 まだPHP初めてまもないと思いますので、その段階では、これ以外の使い方はしないものだと理解してください。ソースを見て無いのでなんともいえませんが、include_onceの理解が間違っているために、間違った使い方をしているだけだと思います。 a.phpでデータを入力しb.phpへ渡すにはa.phpのHTMLのFORMタグで  <form action="b.php" method="POST"> 等と指定すればOKです。サブミットボタンが押されたらb.phpが呼び出されます。ここらへんの仕組みはサーバーサイドスクリプトの最初歩ですので、マニュアル本等で勉強されると良いと思います。

hinakotyan
質問者

お礼

だんだん分かってきました。 いろいろと試して、理解を深めたいと思います。 ありがとうございました。

その他の回答 (1)

回答No.1

ちょっと質問文が読み取れなかったので補足をお願いしたいのですが、 a.phpでデータを入力するフォームのサブミット先URLはどこですか?(a.php?それともb.php?) 質問文にあるような事を私がやるならinclude_onceは使わないような気がするのですが・・・・。include_once(file)は『fileの内容をココにコピペせよ』って関数ですし、この場合どういう用途を想定して使っているのかをよろしければ教えてください。

hinakotyan
質問者

お礼

補足の部分ちょっと間違えていました。 サブミット先のURLが b.phpになります。 include_onceで呼び出しているわけではありませんでした。 失礼しました。

hinakotyan
質問者

補足

ありがとうございます。 include_onceで呼び出しているのはb.phpです。 私、PHPは初めてでテキストを買って試しに作っているだけです。 特にinclude_onceにしている意味は、それしかよく分からないからです。 もし、他にいい方法があるのであれば、 伝授していただきたいです。