• ベストアンサー

PHPのlocationについて

Marionetteの回答

回答No.3

 何も表示されないのだから文字コードの問題でもないでしょうし... 強制的にリフレッシュさせるように変更するとどうなりますか? $id = time(); header("Location: hoge.html?id=$id"); >ヘッダの出力ですが、質問の中のPHPでheaderの記述の前に何ら出力を行ってません。 念のため確認しますが、空行もありませんよね。<-詳細はマニュアル参照。

miku0004
質問者

お礼

ご回答ありがとうございました。 お礼が遅れて申し訳ございませんでした。 空行もありません。不思議です。。 > 何も表示されないのだから文字コードの問題でもないでしょうし.. 実は原因はこれかな?とか思い始めてます。 リダイレクト先のページはEUCなのですが、ブラウザの設定をS-JISにすると画面が真っ白になりました。 まだ完全に確認は取れてないし、どうしたら回避できるのかはわからないですが、この線で検討していきたいと思います。 #それにしてもヘッダーで文字コードを強制的に指定することってできるのだろうか…?

関連するQ&A

  • Location後の処理について

    header("Location:./hoge.php"); などとして画面遷移を行った場合、これより下の行に書かれた処理は行われているのでしょうか? たとえば if (認証処理) { ログファイルに書込 header("Location:./hoge.php"); } とすればログを書いた後に遷移するのはわかりますが、 if (認証処理) { header("Location:./hoge.php"); ログファイルに書込 } 何らかの処理2 とした場合、ログに書き込みや処理2などは実行されているのでしょうか?

    • ベストアンサー
    • PHP
  • header('Location: http://www.exampl

    header('Location: http://www.example.com/'); PHPによる上記リダイレクト処理を、ブラウザ側で拒否できるような機能は存在するのでしょうか? そもそもこのリダイレクト処理というのはサーバサイドで動いているものなのでしょうか? 仕組みがよくわかりません。 たとえばDBにデータを登録後、リダイレクトでメール送信処理ページへ飛ばし、ユーザに登録内容をメールで送る、ということをしても問題ないのでしょうか? とりあえず画面遷移を拒否される可能性があるかないかだけでも教えてください。

    • ベストアンサー
    • PHP
  • 【php】ログイン後、元いたページにリダイレクト

    こんばんは。phpを勉強し始めたばかりの者です。宜しくお願いします。 会員制サイトを作っています。 そこで、 ページにログインなしで来ると、ログインページにリダイレクト、ログインすると、元いた場所にリダイレクトされるようにしたいです。 以下のような方法はセキュリティ的に問題ありますでしょうか? セッションに戻るページを覚えさせて、 if (!isset($_SESSION["name"])) { $_SESSION['return'] = $_SERVER["REQUEST_URI"]; header("Location: login.php"); exit; } ログイン処理を終えた後、 if(!empty($_SESSION['return'])){ $url = $_SESSION['return']; header("Location: $url"); exit; } else { header("Location: top.php");// 戻るページがない場合、トップページへ exit; } のようにして、戻ります。 が、期待した通りの動きはできたのですが、セキュリティ的に問題がないかどうか不安です。 もし、やめた方が良いのでしたら、どのような方法が考えられますでしょうか。 ご指導ください。宜しくお願いします。

    • ベストアンサー
    • PHP
  • PHPとPerlのリダイレクト

    こんにちは。 PHPとPerlのリダイレクトの処理ついて質問です。 PHPのリダイレクトには、exit;を付けないとその後の処理も行ってしまいます。 header("Location:index.php"); exit; Perlのリダイレクトにも、このexit;は必要でしょうか? print "Location:index.cgi\n\n"; exit; ← ? 以上です。 どうぞよろしくお願いします。

    • ベストアンサー
    • Perl
  • 環境をかえたら header(Location:)に不具合が?

    ローカル環境からWEBサーバに作ったPHPファイルを移動させたのですが、 header(Location:)がうまく動かなくなってしまいました。 アドレスがおかしいのかと思って いくつか試してみたんですが ファイルによってうまく行くのと行かないのがあるようです。 傾向としては $chkに5が入っていたら test.phpに移動する。 if($_SESSION['chk'] != '5'){  header('Location: ./test.php');  exit; } はうまく動くのですが ifでいくつか処理を行ったあとに if(isset($_POST('submit')){  いくつかの処理  header('Location: ./login.php'); } とするとうまく動かないという状態です。 どのようなケースが考えられるでしょうか アドバイスよろしくお願いします。

    • ベストアンサー
    • PHP
  • phpでエージェントの振り分けがうまくいかない

    phpでエージェントの振り分けがうまくいかない 以下のようにmフォルダの中にindex.phpを以下の内容で設置し、同列でi,a,sフォルダを設け それぞれindex.htmlを設けました。しかし携帯でhttp://hoge.com/m で打つとサイトがみつかりませんになります。<?phpより上は空白、改行はありません。 振り分けがうまく機能しないのはなぜでしょうか? <?php $agent = $_SERVER['HTTP_USER_AGENT']; if(preg_match("/^DoCoMo/i", $agent)){ header("Location: http://hoge.com/m/i/index.html"); exit; }else if(preg_match("/^(J?-PHONE|Vodafone|MOT?-[CV]|SoftBank)/i", $agent)){ header("Location: http://hoge.com/m/s/index.html"); exit; }else if(preg_match("/^KDDI?-/i", $agent) || preg_match("/UP?.Browser/i", $agent)){ header("Location: http://hoge.com/m/a/index.html"); exit; }else{ header("Location: http://hoge.com/index.php"); exit; } ?>

    • ベストアンサー
    • PHP
  • header("Locationとリロードについて

    Chromeでリロードしても、header("Location がうまくいきません。 リロードした際も、URLを遷移させるにはどうすればいいでしょうか? ▼index.php <?php  header("Location: http://yahoo.co.jp/");  exit; ?> ・URL入力後、右クリック&再読み込み → 遷移しない ・URL入力後、F5 → 遷移しない ・URL入力後、URL入力欄左にある「このページを再読み込みします」のマーク → 遷移しない(遷移するときもある?) ・URL入力後、Enter → 遷移する ・URLを「貼り付けて検索」 → 遷移する 後、Chromeで、以下の3つに何か違いはあるのでしょうか? ・右クリック&再読み込み ・F5 ・URL入力欄左にある「このページを再読み込みします」のマーク

    • ベストアンサー
    • PHP
  • ◆cronでphpを実行しリダイレクトまで

    いつもお世話になっています。 cronでphpを起動させています。 そのphp内でリダイレクトで自分を指定させたい。 header("Location: http://hohe/test.php?cnt=$cnt"); exit; 前後の処理は割愛させて頂きます(ループ処理もあります)。 ブラウザから直接phpを実行するとちゃんとリダイレクトしているのですが、cronだとリダイレクトしていません。 宜しくお願いします。

    • 締切済み
    • PHP
  • phpでのリダイレクト処理について

    phpで index.php にアクセスがあった時に、 以下の様に top.php へリダイレクトさせたいと思います。 header("Location:top.php"); exit(); この時、top.phpが表示された時のブラウザのアドレスバーは index.php のままです。 アドレスバーのURLを top.php にする方法はないですか?

    • 締切済み
    • PHP
  • Locationでアンカーに飛ばしたい

    下記のPHPを作り、 name_idがなかったらname.php?a1=user_idに飛ばす、 name_idがあったらuser.php?a2=name_idに飛ばしています。 ここまでは問題ありません。 今回、 name.php?a1=user_id#name user.php?a2=name_id#name と、それぞれのページの#nameのアンカーが付いているところに飛ばしたいと考えています。 しかしながら、単純に下記を header("Location: name.php?a1=$type#name:"); のようにアンカーを追加したたでけでは思う行に飛ばすことができません。 Location で他のページのアンカーに飛ばすにはどうすば良いでしょうか? 宜しくお願い致します。 <?php $type = $_GET['user_id']; $type2 = $_GET['name_id']; if (empty($type2)) { header("HTTP/1.1 301 Moved Permanently"); header("Location: name.php?a1=$type:"); exit(); } else { header("HTTP/1.1 301 Moved Permanently"); header("Location: user.php?a2=$type2:"); exit(); }; ?>

    • ベストアンサー
    • PHP