![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
1.phpの中に1と2の選択肢(ラジオボタン)があります。
・1を選択肢し、submitボタンを押すと【2.php】に移動。
・2を選択肢し、submitiボタンを押すと2.phpを無視して【3.php】に移動。
というプログラムを組みたいのですが、
新しくa.phpというファイルを作成し、
条件分岐、includeかrequire関数でファイルの挿入をする方法しかないのでしょうか?
この方法でも問題なく動いているのですが、
ファイル数が増えてしまい邪魔になってしまいます。
他に方法がありましたら教えてください。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
デフォルトのページを1.phpとした場合
if($_GET){
if($_GET["a"] == "1"){
-- お菓子が好きなら --
header("LOCATION:2.php");
}else{
-- 嫌いなら --
header("LOCATION:3.php");
}
}else{
-- デフォルト表示 --
?>
お菓子は好きですか?
<form action="1.php" method="GET">
<input type="radio" name="a" value="1">好き
<input type="radio" name="a" value="2">嫌い
<input type="submit" value="送信">
</form>
<?php
}
では、どうでしょう?
ただし、移動後のページには引数は渡されません。
No.3
- 回答日時:
> ファイル数が増えてしまい邪魔になってしまいます。
1機能につき1ページ1ファイルと言うのはある程度理にかなっていますが、ちょっとした画面遷移でいちいちページを作っていたらたまらないと言う事はありますね。
ある程度機能をまとめて一つのファイルにするという事も簡単です。送信されたデータによってswitchで分岐し、表示を決めます。
<?php
//ヘッダー等略
$formstr =<<<EOC
<form action="" method="post">
<input type="radio" name="cc" value="1" />1を選択
<input type="radio" name="cc" value="2" />2を選択
<input type="submit" name="sbm" value="send" />
</form>
EOC;
switch($_POST["cc"]){
case 1 : echo "2.phpの内容";break;
case 2 : echo "3.phpの内容";break;
default : echo $formstr;
}
//以下略
?>
ファイル数はかなり少なく出来ますが、複数でプログラミングするような場合は分かりにくいというデメリットはあります(ファイル数がむやみに多い事も同じですけどね)。
どこかでバランスをとっていく必要がありますね。
参考まで。
No.1
- 回答日時:
少し意味が分からないのですが・・・
>・1を選択肢し、submitボタンを押すと【2.php】に移動。
>・2を選択肢し、submitiボタンを押すと2.phpを無視して【3.php】に移動。
ダイレクトに2.php もしくは 3.phpに移動させたいってことですか?
それなら JavaScript で移動先を指定してやればできます。
a.php のみで処理したいなら別にinclude や require 使わなくても
条件分岐だけで処理すればいいだけだと思うのですが。
ユーザー関数を使うとか。
質問の意味が違ってたらごめんなさい
この回答への補足
質問文が分かりづらくてすみません。
通常なら
1.php → 2.php → 3.phpと移行していくのですが
例えば1.php内で
『お菓子がすきですか?』という質問に対して
選択肢が
1:好き
2:嫌い
・1を選択しsubmitボタンを押すと
2.phpの『どのようなお菓子がすきですか?』の質問に移行。
2.phpの選択肢を選んでsubmitボタンを押すと、3.phpに移行。
・2を選択すると
2.phpに移行せずにダイレクトに3.phpの『ジュースは好きですか?』の質問に移行。
携帯のサイトを作成している為、
JavaScriptが使えないのです。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データ送信をボタンを押さずに...
-
ワンクリックしかできないクリ...
-
ボタンのクリック数を合計保存...
-
【初歩】ログアウトを【2回押さ...
-
【WordPress】投稿がないカテゴ...
-
PHPのif文でその処理を途中で抜...
-
makefile でファイルをコピーす...
-
.phpと.incファイルの違いはな...
-
Subversionのリポジトリの削除
-
リンク先を隠す方法はないでし...
-
__FILE__をHTMLタグ内で使う
-
PHP session_destroyとsession...
-
.phpファイルが、表示されない
-
onedrive にexcelファイルをア...
-
PHPでFilename cannot be empty...
-
php文字列中のシングルクオート...
-
前後の全角スペースを削除する...
-
php.ini を設定を変更すると再...
-
webroot以外の画像の表示
-
拡張子php画像をjpg画像等に変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データ送信をボタンを押さずに...
-
form actionで二つ送信先を指定...
-
FORMで送信ボタンと戻るボタン...
-
テキストボックスにデータベー...
-
header(Location: next.php) だ...
-
ボタンのクリック数を合計保存...
-
inputタグでphpを呼び出す際、...
-
PHP table内、<a href使って su...
-
【PHP】ページを更新すると勝手...
-
PEAR Image_QRCodeのエラー
-
別のファイルへ値を受け渡す方法
-
【WordPress】投稿がないカテゴ...
-
受け取ったパラメータを次のphp...
-
ワンクリックしかできないクリ...
-
「 '&lng='」の&の意味が分か...
-
DB_DATABASEとは何を指すのでし...
-
チェックボックス + フリーワー...
-
WordPressで完全一致検索
-
phpでCSS対応させ文字コードを...
-
ページングでの値の引き継ぎ方
おすすめ情報