• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:header関数で遷移した際のURLエンコード)

header関数で遷移した際のURLエンコード

このQ&Aのポイント
  • XOOPSを利用している場合、header関数を使用してログイン後のリダイレクト先URLを保存する際にURLエンコードが正しく行われない問題が生じることがあります。
  • この問題の原因として、header関数によってリダイレクト先URLが正常に表示されないことが挙げられます。
  • 解決策として、別の方法を検討することや、header関数の使用方法を見直すことが考えられます。

質問者が選んだベストアンサー

  • ベストアンサー
  • cybert
  • ベストアンサー率56% (18/32)
回答No.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']); かなり頭の悪そうなやり方ですが、目的としてることはできる気がします。

haremscarem
質問者

お礼

ありがとうございます! いただいた方法で試している最中に、他のプログラムも含めてチェックしてみたら、URLエンコードされているものでもURLエンコードされないようにして送信していることが分かりました。 大変助かりました!

関連するQ&A