php spot
phpが使えるレンタルサーバー特集
検索グラス
トップページへ

パラメータの汎用的な受け取り方
PHPはバージョンによってパラメータの格納されている連想配列の名前が変わったり、
register_globals によって変数に直接パラメータが代入される場合があります。

これはサーバの設定/バージョンにより異なります。

通常、POST の値を受け取る値は、現在では
$_POST["param"] で受け取りますが、PHP4.1.0 以前では $HTTP_POST_VARS["param"] で値を受け取っていました。

その他の対応は以下の通り

$_GET ← $HTTP_GET_VARS
$_COOKIE ← $HTTP_COOKIE_VARS
$_FILES ← $HTTP_POST_FILES
$_ENV ← $HTTP_ENV_VARS
$_SERVER ← $HTTP_SERVER_VARS

このように 4.1.0 で名前が結構変わっちゃっています。

より汎用的に多くのサーバで動作させたい場合、これらを判別する必要があります。

<?php
if (isset($_GET)) {
    $APP_GET_VARS = $_GET;
} else {
    $APP_GET_VARS = $HTTP_GET_VARS;
}
?>

こんな感じに判別した方がよいでしょう。
isset は変数が設定されているかを調べる関数です。

その他変数も同様に処理します。

こういうのを一括して処理するクラスを作るのもよいでしょう。
再利用も効きそうですしね。

スポンサードリンク



もどる
管理人の新着ブログ記事

    プライバシーポリシー | お問い合わせ
copyright © 2003-2020 phpspot all rights reserved. powered by phpspot CMS.