- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:header関数で遷移した際のURLエンコード)
header関数で遷移した際のURLエンコード
このQ&Aのポイント
- XOOPSを利用している場合、header関数を使用してログイン後のリダイレクト先URLを保存する際にURLエンコードが正しく行われない問題が生じることがあります。
- この問題の原因として、header関数によってリダイレクト先URLが正常に表示されないことが挙げられます。
- 解決策として、別の方法を検討することや、header関数の使用方法を見直すことが考えられます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
XOOPSは使ったことないのですが、 $_GET['xoops_redirect']に %2Fxoops%2Fmodules%2Fcs%2Fsearch.php%3Fcid%3D1%26aid%3D1 を期待していて、&とか?が悪さをしているという認識です。 URLエンコードじゃなくて、BASE64で渡すのはどうですか? $str = base64_encode("%2Fxoops%2Fmodules%2Fcs%2Fsearch.php%3Fcid%3D1%26aid%3D1"); header("Location:https://localhost/xoops/user.php?xoops_redirect=$str"); $_GET['xoops_redirect']=base64_decode($_GET['xoops_redirect']); かなり頭の悪そうなやり方ですが、目的としてることはできる気がします。
お礼
ありがとうございます! いただいた方法で試している最中に、他のプログラムも含めてチェックしてみたら、URLエンコードされているものでもURLエンコードされないようにして送信していることが分かりました。 大変助かりました!