Sorgu İşlemleri Sınıfı

PHP
85 lines
<?php
class Sorgu{
var $degiskenler;
function Sorgu($veri,$urlkodla = false){
if(!is_array($veri)){
if($veri != ""){
$veri = preg_replace("/^\?/","",$veri);
$islem = explode("&",$veri);
foreach($islem as $deger){
$t = explode("=",$deger);
$t[1] = urldecode($t[1]);
$this->degiskenler[$t[0]] = $t[1];
}
}else{
$this->degiskenler = array();
}
}else{
if($urlkodla){
foreach($veri as $anahtar => $deger){
$veri[$anahtar] = urldecode($deger);
}
}
$this->degiskenler = $veri;
}
}
function degistir($ad,$deger){
$this->degiskenler[$ad] = $deger;
}
function sil($ad){
unset($this->degiskenler[$ad]);
}
function cokluekle($veri,$urlkodla = false){
if(!is_array($veri)){
$veri = preg_replace("/^\?/","",$veri);
if($veri != ""){
$islem = explode("&",$veri);
foreach($islem as $deger){
$t = explode("=",$deger);
$t[1] = urldecode($t[1]);
$this->degiskenler[$t[0]] = $t[1];
}
}
}else{
if($urlkodla){
foreach($veri as $anahtar => $deger){
$veri[$anahtar] = urldecode($deger);
}
}
$this->degiskenler = array_merge($this->degiskenler,$veri);
}
}
function getdegiskenler($tip){
switch($tip){
case "array":
return $this->degiskenler;
break;
case "query":
$sonuc = "";
foreach($this->degiskenler as $anahtar => $deger){
if($sonuc != ""){
$sonuc = $sonuc."&";
}
$sonuc = $sonuc.$anahtar."=".urlencode($deger);
}
return $sonuc;
break;
case "hidden":
$sonuc = "";
foreach($this->degiskenler as $anahtar => $deger){
$sonuc = $sonuc."<input tip=\"hidden\" ad=\"{$anahtar}\" deger=\"".htmlentities($deger)."\" />\n";
}
return $sonuc;
break;
}
}
}
if($_GET['postugetecevir'] != 'evet'){
$postveri = new Sorgu($_POST);
$postveri->degistir('postugetecevir','evet');
$postveri->cokluekle($_GET);
$get = $postveri->getdegiskenler('query');
header("Location: {$_SERVER['SCRIPT_NAME']}?{$get}");
}
print_r($_REQUEST);
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
1 lines
Array ( [postugetecevir] => evet )
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX