![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
CGIプログラムの初心者です。取り合えず作ってみようと思いまして、本を片手に「診断系の占い」のプログラムを書き始めました。生年月日を入力して性格を占う(?)、いわゆる「動物占い」とか「星座占い」のようなやつです。
入力した生年月日から数値を導き、その数値を元に数通り用意した結果のページ(HTML)へ移動させるようにしたいのですが、移動のさせ方がよくわかりません。CGIの中にHTML文書を書いて表示させるのではなくて、別に用意したHTMLのページへ移動させるにはどうしたらいいのでしょうか?
とりあえず
print "Content-type: text/html\n\n";
print <<EOF;
<html>
<head>
<meta HTTP-EQUIV=\"refresh\" CONTENT=\"0; URL=$kekka\">
<title>占いの結果です</title>
</head>
#以下略します
#$kekka ←この変数にアドレスを代入してます。
という感じで、<meta>を入れて移動させるようにしてみたんですけど、もっと正攻法があるんじゃないかな?と、疑問を感じました。
申し訳ありませんが、教えていただけると嬉しいです。
No.1ベストアンサー
- 回答日時:
別にその方法でもいいと思いますが、その他には「Locationヘッダでリダイレクトさせる」方法や「結果ページのHTMLを読み込んで表示する」方法などが考えられます。
Location の場合、
print "Location: $kekka\n\n";
とだけ出力すればOKです。
META の Refresh による方法と、ほぼ同じ結果になります。
※$kekka は、念のため絶対URLの方がよいです。
HTMLを読み込んで表示するなら、
print "Content-Type: text/html\n\n";
if (open(FH, "< $file")) { # $fileには、$kekkaに相当するHTMLのファイルパスを指定
print <FH>;
close FH;
}
else { print "Error: $!" }
という感じ。
こっちの方がMETAやLocationで飛ばすより、早くページが表示されます。
No.2
- 回答日時:
JavaScriptの
"document.URL"
を使うとできます。
URLは大文字であることに注意。
使用例:
<script>
function jump(url){document.URL=url}
</script>
<input type=button value=" 1 " onclick='jump("1.html")'>
<input type=button value=" 2 " onclick='jump("2.html")'>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- PHP php ログイン 1 2022/11/01 00:24
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで集計したい。
-
apacheでPerl CGIが作動せず、5...
-
サイト訪問者の情報を取得したい
-
-T(汚染モード)でメールが送れ...
-
フォームを再送信しますか?
-
CGIって何ですか?簡潔に教えて...
-
cgiでのアクセスカウンターの表...
-
ホームページでCGIのフォームを...
-
一番簡単なCGI,掲示板の設置教...
-
VBAで条件から範囲を指定して色...
-
/bin/awk '{print $5}'ってどう...
-
POSTメソッドの最大容量について
-
めちゃきれい
-
number 改行が追加できない
-
生成AI画像について
-
3DCG
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
-
CGIの記述について教えてくださ...
-
CGIの設置が分かりません・・・
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パソコン → パャRン
-
my $html<<EOMの意味を教えてく...
-
テキストエリアの改行を取得したい
-
TXTに出力すると文字化けが起こる
-
結果を得て自動的にページ移動...
-
テキストエリアにテキストファ...
-
perlで作ったcgiがIE6で西ヨー...
-
malformed header from script....
-
SSI にグローバル変数を渡すこ...
-
Pythonを用いてCGIを作る勉強を...
-
スマートフォンからの荒らし対策
-
CGIから出力される文字が化けて...
-
何がいけないんでしょうか?
-
出来ているHTMLに無料CGIをつけ...
-
CGI内からSSIを実行した...
-
CGIにおいて、エンコード・文字...
-
テキストファイルの読み込み
-
TeraPadでよく使う文字を特定キ...
-
1つのプログラム内で"html出力...
-
Apacheのログにエラー出力
おすすめ情報