Jump to content

PHP'de POST ve GET metodlarını birleştirmek


Recommended Posts

Belki bir çoğuunuzda olmuştur bu sorun...

Local'de düzenlediğiniz web sayfalarını servere atında,

GET ve POST metodları tanınmaz hale gelir...

Nedeni de gayet basitti. Tanım eksikliğindendir....

Mesela ;

index.php?act=post&do=new_post&f=18

adresinde;

F'nin alacağı 18 değeri, değerin alınacağı sayfada bilhassa $_GET[18] olarak belirtilmelidir.

Aynı şekilde,

Kullanılan bir formun gönderilmesinde (postalanmısı) form içindeki değişkenlerin tanınabilmesi için $_POST[değişken adı] kullanmak zorunlulu olabilir.

Aşağıdaki vereceğim kodlarla bu sorunu aşabilirsiniz...

Bu kodları

bu tür değişkenlerin yer aldığı sayfalara ekleyin.

Yada...

sadece tavan.php, hed.php yada hedaer.php gibi tepe dosyaları include ettiriyorsanız sadece ona ekleyin yeterli olacaktır.

Bu komutlarla birlikte,

GET ve POST değerlerine değer biçimini eklemekten kurtulursunuz. ve GET POST değerini aynı şekilde kullanabilirsiniz.

POST içinde $a=1 ise GET içinde $a=1 'dir.

// convert superglobals if php is lower then 4.1.0
if ($phpver < '4.1.0') {
$_GET = $HTTP_GET_VARS;
$_POST = $HTTP_POST_VARS;
$_SERVER = $HTTP_SERVER_VARS;
$_FILES = $HTTP_POST_FILES;
$_ENV = $HTTP_ENV_VARS;
if($_SERVER['REQUEST_METHOD'] == "POST") {
$_REQUEST = $_POST;
} elseif($_SERVER['REQUEST_METHOD'] == "GET") {
$_REQUEST = $_GET;
}
if(isset($HTTP_COOKIE_VARS)) {
$_COOKIE = $HTTP_COOKIE_VARS;
}
if(isset($HTTP_SESSION_VARS)) {
$_SESSION = $HTTP_SESSION_VARS;
}
}

// override old superglobals if php is higher then 4.1.0
if($phpver >= '4.1.0') {
$HTTP_GET_VARS = $_GET;
$HTTP_POST_VARS = $_POST;
$HTTP_SERVER_VARS = $_SERVER;
$HTTP_POST_FILES = $_FILES;
$HTTP_ENV_VARS = $_ENV;
$PHP_SELF = $_SERVER['PHP_SELF'];
if(isset($_SESSION)) {
$HTTP_SESSION_VARS = $_SESSION;
}
if(isset($_COOKIE)) {
$HTTP_COOKIE_VARS= $_COOKIE;
}
}


if ($phpver >= '4.0.4pl1' && isset($_SERVER['HTTP_USER_AGENT']) && strstr($_SERVER['HTTP_USER_AGENT'],'compatible')) {
if (extension_loaded('zlib')) {
@ob_end_clean();
ob_start('ob_gzhandler');
}
} elseif ($phpver > '4.0' && isset($_SERVER['HTTP_ACCEPT_ENCODING']) && !empty($_SERVER['HTTP_ACCEPT_ENCODING'])) {
if (strstr($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) {
if (extension_loaded('zlib')) {
$do_gzip_compress = true;
ob_start(array('ob_gzhandler',5));
ob_implicit_flush(0);
if (ereg("MSIE", $_SERVER['HTTP_USER_AGENT'])) {
header('Content-Encoding: gzip');
}
}
}
}
[/CODE]

;)

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...