- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:さくらレンタルサーバーでPOSTとGETを省略する方法?)
さくらレンタルサーバーでPOSTとGETを省略する方法?
このQ&Aのポイント
- 自社サーバーの管理者に不幸があり、レンタルサーバーを借りることになったが、フォームの受け渡しがうまくいかない問題が発生した。
- 自社サーバーでは$_POST[変数名]を指定しなくても問題なかったが、さくらインターネットの場合は必要となった。
- さくらインターネットのPHPバージョンは5.2.5である。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
もしかしたら、今までのサーバーは PHP4の可能性が大です しかもregister_globals = On の設定だったかと思われます。 昔のPHPは、この設定がOnの状態がデフォルト(最初っからの値)だったため 例えば、 <input type="text" name="hensu" value="" /> というのがあったら、そのまま $hensu で値が取得できていたと思われます。 しかし、これはセキュリティ的に「非常に危険」であるため。今現在のPHPでは、 register_globals = Off の状態がデフォルトとなっています。 register_globalsの設定を変えれば、今までのソースがそのまま動くかと思われますが、「めちゃめちゃ危険です」ので、極力おすすめはしません。 ですから、ここで具体的な設定の方法は控えさせていただきます お手数ですが、全てのソースで $_POST['hensu'] と書き換えることを強くおすすめします。 この現象は さくらインターネットに限ったことではありません、この世の中の全てのPHPでおこりうる現象ですが、本来であれば、古いバージョンでもregister_globals=Offの状態でシステム構築するのが当たり前なのですが、まぁ、不幸の有った人を悪く言うのもアレなんで以下自粛させていただきます。
お礼
早々ありがとうございます。 非常に参考になります。 もう少し知識があればもっとうまい聞き方もあったのでしょうが、私が望んでいるような解答でした。 変更修正する方向で進ませてもらいます。 ただ現状『動かしたい』って言う気持ちが大きかったので一度瞬間的にOnにしてみたいと思います。 まさかそれが危険とはド素人の私は考えもしませんでした。 何故危険なんだろうと読みながら初歩的な疑問もありますが、検索してみます。 ありがとうございました。