※ ChatGPTを利用し、要約された質問です(原文:リダイレクト時のURLクエリ文字列の取得)
リダイレクト時のURLクエリ文字列の取得に関する質問
このQ&Aのポイント
スクリプト内のURLクエリ文字列の取得に関して質問があります。
スクリプト内でURLクエリ文字列を取得し、リダイレクトさせる際に発生する問題について知りたいです。
JavaScriptからリダイレクトする際に、URLエンコードの必要性とその手順について教えてください。
hoge.html
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=euc-jp" />
</head>
<body>
<script language="javascript">
<!--//
function windowOpen() {
window.open("hoge.php?name=" + document.getElementById("data").value, "new_window");
}
-->
</script>
<input type="text" id="data" />
<input type="button" value="new window" onclick="windowOpen()" />
</body>
</html>
hoge.php
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=euc-jp" />
</head>
<body>
<?php
echo $_GET['name'];
?>
</body>
</html>
このようなスクリプトがあった時(表示の際の文字コードは任意で)、
文字列をエンコードせずJavaScriptからURLをリダイレクトさせている為、
IE6では、PHP側の$_GET['name']が正常に受け取る事が出来ません。
(Firefoxではアクセスした時点で自動的にURLエンコードしてくれるので
問題ないのですが)
これを、JavaScript側でURLエンコードさせてからリダイレクトさせるのではなく、
PHP側で回避させる為にはどういった作業をどういう手順で行えばいいのでしょうか?
お礼
やっぱりそうですよねー。 いやぁ、別に作り方の問題なんですけど、もしそんな事 できたら選択肢が増えるなーと思いまして。 色々試した結果、やっぱりサーバ側で受信した時点で データはぶっ壊れてるみたいですね。 でもGoogleは検索結果のクエリを直接書き換えると、 何故かいけたんですよ。 そこでまた疑問符が、って感じになっています。 実際問題、そういった対処を行う事はありませんけどね・・・。 ありがとうございました。