No.4ベストアンサー
- 回答日時:
1ページ目以外はCGIです。
1ページもCGIで可能ですし。
htmlファイルとして書き出す必要は特にありませんよ?
2ページ目で、ちょっと確認項目だしてますが、
しないのであれば、そのまま3ページ目という風に・・・
ページが進む度に、
<input type="hidden" name="name" value="$FORM{'name'}">
や
<input type="hidden" name="address" value="$FORM{'address'}">
と、増やしていけば、良いわけです。
なにかややこしくなってましたね、訂正します。
全てCGIとして書きなおすと、
if(!$FORM{'name'}){
print <<"END";
<form>
<input type="text" name="name"><br>
<input type="submit" value="送信">
</from>
END
}
elsif($FORM{'name'}){
print <<"END";
<form>
<input type="hidden" name="name" value="$FORM{'name']">
<input type="text" name="address"><br>
<input type="submit" value="送信">
</from>
END
}elsif(($FORM{'name'}&&($FORM{'address'})){
print<<"END";
<form>
<input type="hidden" name="name" value="$FORM{'name']">
<input type="hidden" name="address" value="$FORM{'address']">
<input type="radio" name="sex" value="men">男
<input type="radio" name="sex" value="women">女
<input type="submit" value="送信">
</from>
END
}elsif(($FORM{'name'})&&($FORM{'address'})&&($FORM{'sex'})){
print <<"END";
氏名:$FORM{'name'}<br>
住所:$FORM{'address'}<br>
性別:$FORM{'sex'}<br>
以上でよろしいですか?
<form>
<input type="hidden" name="name" value="$FORM{'name']">
<input type="hidden" name="address" value="$FORM{'address']">
<input type="hidden" name="sex" value="$FORM{'sex'}">
<input type="submit" value="OK">
</form>
END
}
別途decode等の指示は必要です。
簡単に書くとこういう処理になると思います。
No.3
- 回答日時:
>この処理をさせようとすると、cgiページからcgiページを呼び出すようになるのでしょうか?(どうやって?)
前の方が仰る通りhiddenで可能ですね。
一度methodをgetでやってみると感覚がつかみやすいと思います。
別のCGIを呼び出すわけではなく、一つのCGIで可能です。
ただ、その為にはそれ用の処理が必要になります。
1ページ目
<form>
氏名:<input type="text" name="name"><br>
<input type="submit" value="送信">
</form>
処理
if(($FORM{'name'})&&(!$FORM{'check'})){
print <<"END";
<!--この内容が2ページ目-->
氏名:$FORM{'name'}<br>
これでよろしいですか?<br>
<form>
<input type="hidden" name="name" value="$FORM{'name'}">
<input type="hidden" name="check" value="name">
<input type="submit" value="OK">
</form>
END
}
elsif($FORM{'check'} eq "name"){
print <<"END";
<!--この内容が3ページ目-->
<form>
<input type="hidden" name="name" value="$FORM{'name'}">
<input type="hidden" name="check" value="address">
住所:<input type="text" name="address">
<input type="submit" value="送信">
</form>
END
}
あとは繰り返しですね。
この回答への補足
詳細な解説ありがとうございます。
ああ、それなのにすみません。
どの内容がhtmlファイルに書き出し、どの内容がcgiファイルに書き出すものなのか分からなくて困惑しております。
できれば、上記の補足解説をお願いします。
No.2
- 回答日時:
#1です。
>すみません
><INPUT TYPE="hidden" の使い方がイマイチわからないのですが、、、
>(本を見ると隠しボタンの設置に利用とあります)
隠し要素ですが、ボタンではありません。
ページになにも表示せずに、こっそりデータの受け渡しをするものです。
>実際、最終ページにはどうやってデータを渡すのでしょう?
>あと、アンケートの入力項目には氏名欄(text)もあるのですけど、これも最終ページに渡せますか?
受け取ったデータが、%FORMという連想配列に格納されているとすると、
<FORM ACTION="http://localhost/perl/test.cgi" METHOD="POST">
<INPUT TYPE="hidden" NAME="Q1" VALUE="$FORM{'Q1'}">
<INPUT TYPE="text" NAME="name">
<INPUT TYPE="submit" VLAUE="送信">
</FORM>
で、Q1の内容と今回入力されるnameの内容をtest.cgiに送信する事ができます。
内容確認の時は、
Q1:$FORM{'Q1'}
等として、中身を表示させれば良いと思いますよ。
この回答への補足
脱線してきてます?
ちょっと、まとめます。
1ページ目・・・氏名の入力(text) submit ⇒※確認ページが表示されてしまう
2ページ目・・・住所の入力(text) submit ⇒※確認ページが表示されてしまう
3ページ目・・・性別の選択(radioもしくはoption) submit
4ページ目・・・1~3ページの確認一覧表示としたい。
途中で確認ページを表示させず、尚且つ最終ページでのみ確認一覧を出したいのです。
現状、1ページ目⇒確認ページで止まってしまっています。
この処理をさせようとすると、cgiページからcgiページを呼び出すようになるのでしょうか?(どうやって?)
まと外れの質問になっているのかもしれませんが、解釈が間違っていたら訂正お願いします。
No.1
- 回答日時:
それまでの回答を
<INPUT TYPE="hidden" NAME="Q1" VALUE="はい">
<INPUT TYPE="hidden" NAME="Q2" VALUE="いいえ">
のようにhiddenで全て持たせてはどうでしょう?
そうすれば最終ページまで内容を保持できますよ。
それを最終ページで表示すれば、hhayato10さんのご希望通りの動作をすると思います。
この回答への補足
すみません
<INPUT TYPE="hidden" の使い方がイマイチわからないのですが、、、
(本を見ると隠しボタンの設置に利用とあります)
実際、最終ページにはどうやってデータを渡すのでしょう?
現在は<FORM ACTION="http://localhost/perl/test.cgi" METHOD="POST">
で渡しているので、次のページで項目確認になってしまいます。
あと、アンケートの入力項目には氏名欄(text)もあるのですけど、これも最終ページに渡せますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- SEO googleサーチコンソールでの重複ページ(ダブルスラッシュ) 3 2023/06/12 15:00
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- SEO 検索エンジンにインデックスされない 3 2023/02/20 08:59
- PHP PHP ページング データベース 1 2022/06/16 10:30
- PHP $_SESSIONに渡した後はそのまま使っても問題ありませんか? 3 2022/11/08 22:17
- IT・エンジニアリング ★お手上げ状態です。助けてください。ActiveReportについて 1 2023/08/20 04:29
- Visual Basic(VBA) ★お手上げ状態です。助けてください。ActiveReportについて 1 2023/08/20 04:27
- PHP PHPで入力フォームでデータを確認表示画面まで送る流れを日本語で理解したいのです。 1 2023/05/29 19:12
- WordPress(ワードプレス) ワードプレスで、投稿一覧ページにタグを表示する方法 投稿につけたタグを、記事一覧ページにもカテゴリと 1 2023/05/10 21:41
- Windows 10 複数開いているedgeページやEXCELから、特定のページをピンポイントで開くには 3 2022/11/10 00:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
チェックボックスの返す値
-
別formのhidden項目を自form値...
-
ラジオボタンが両方とも選択で...
-
wordの数式について 定積分を書...
-
SUN BBSの改造方法
-
perlにおけるセッションIDについて
-
プログラミングについての質問...
-
INPUT TYPE
-
htmlからパラメータで、cgiに渡...
-
マップの縦幅
-
入力規則をまとめて定義
-
WEBページを強制的に横画面で見...
-
perl/cgi リダイレクトができない
-
テキストBOXの縦幅を変えたい
-
Webアプリケーションを作りたい!
-
perlで書いたcgiでsqliteの使い...
-
『数字の3桁毎にカンマを付け...
-
標準入力からデータが読込めない
-
FORMのselectの選択肢を最初か...
-
iPhoneサイトで横向き時自動で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
チェックボックスの返す値
-
別formのhidden項目を自form値...
-
チェックボックスで選択した内...
-
Error: No Recipient というエ...
-
CGIでチェックボックスを使...
-
hiddenで送ったデータの取り出し方
-
チェックボックスでのvalue値の...
-
アンケートフォームで前のペー...
-
python subprocessに関する質問
-
CGIで得た内容をHTMlページに代入
-
複数ボタンのvalueを送れない
-
CGIフォームから飛ばすメールで...
-
CGI→CGI変数の引き継ぎは...
-
FC2 掲示版のカスタマイズの仕...
-
心理テストページをCGIで作りた...
-
1つのformに2つのsubmitボタン
-
”送信ボタン” ”クリアボタン”...
-
フォームのvalueを変更する方法
-
フォームの入力内容の後ろに文...
-
アンケートの質問を複数にしたい
おすすめ情報