Get ve Post Değerlerini Alma Sınıfı

<?php
class getpost{
	public $get = array();
	public $post = array();
	function getpost(){
		if(isset($_GET)){
			$this->get();
		}
		if(isset($_POST)){
			$this->post();
		}		
	}
	function get(){
		$dizi = array_keys($_GET);
		if(count($dizi)!=0){
			for($n=0;$n<count($dizi);$n++){
				$this->get[$dizi[$n]] = $_GET[$dizi[$n]];
			}
		}else{
			$this->get = NULL;
		}
	}
	function post(){
		$dizi = array_keys($_POST);
		if(count($dizi)!=0){
			for($n=0;$n<count($dizi);$n++){
				$this->post[$dizi[$n]] = $_POST[$dizi[$n]];
			}
		}else{
			$this->post = NULL;
		}
	}
}
$a =  new getpost();
if($a->get){
echo "<pre>";
print_r($a->post);
echo "<br>";
print_r($a->get);
}else{
?><form name="form1" method="post" action="?get=1">
<label>
<input type="text" name="post">
</label>
<br>
<input type="text" name="post2">
<br>
<input type="text" name="post3">
<br>
<input type="text" name="post4">
<br>
<input type="text" name="post5">
<br>
<input type="text" name="post6">
<br>
<label>
<input type="submit" name="gonder" value="GÖNDER">
</label>
</form>
<?php } ?>

Çıktısı

Array
(
    [post] => yazı1
    [post2] => yazı2
    [post3] => yazı3
    [post4] => yazı4
    [post5] => yazı5
    [post6] => yazı6
    [gonder] => GÖNDER
)

Array
(
    [get] => 1
)

 

Post, Get, Request ve Cookie Değerleri Temizleme Sınıfı

<?php
class temizle {
	function temizle() {
		$this->temizleCookie();
		$this->temizleGet();
		$this->temizleRequest();
		$this->temizlePost();
	}
	function temizlePost() {
		foreach($_POST as $anahtar=>$deger) {
			$_POST[$anahtar] = addslashes($deger);
		}
	}
	function temizleGet() {
		foreach($_GET as $anahtar=>$deger) {
			$_GET[$anahtar] = addslashes($deger);
		}
	}
	function temizleRequest() {
		foreach($_REQUEST as $anahtar=>$deger) {
			$_REQUEST[$anahtar] = addslashes($deger);
		}
	}
	function temizleCookie() {
		foreach($_COOKIE as $anahtar=>$deger) {
			$_COOKIE[$anahtar] = addslashes($deger);
		}
	}
}
$_POST = array('isim'=>"Ahmet'in", 'deger'=>"Kalem'i");
$_GET = array('id'=>"nerde'");
$_REQUEST = array('deger'=>'test"');
$_COOKIE = array('sifre'=>"'osman'in_sifresi");
echo '<fieldset><legend>Eski Hali</legend>';
echo 'POST: ';
print_r($_POST);
echo '<br>GET: ';
print_r($_GET);
echo '<br>REQUEST: ';
print_r($_REQUEST);
echo '<br>COOKIE: ';
print_r($_COOKIE);
echo '</fieldset>';
$temizle =new temizle();
echo '<fieldset><legend>Yeni Hali</legend>';
echo 'POST: ';
print_r($_POST);
echo '<br>GET: ';
print_r($_GET);
echo '<br>REQUEST: ';
print_r($_REQUEST);
echo '<br>COOKIE: ';
print_r($_COOKIE);
echo '</fieldset>';
?>

Çıktısı

---Eski Hali---
POST: Array ( [isim] => Ahmet'in [deger] => Kalem'i ) 
GET: Array ( [id] => nerde' ) 
REQUEST: Array ( [deger] => test" ) 
COOKIE: Array ( [sifre] => 'osman'in_sifresi )
---Yeni Hali---
POST: Array ( [isim] => Ahmet\'in [deger] => Kalem\'i ) 
GET: Array ( [id] => nerde\' ) 
REQUEST: Array ( [deger] => test\" ) 
COOKIE: Array ( [sifre] => \'osman\'in_sifresi )

 

Özel Adres Sınıfı

<?php
error_reporting(63);
class ozelAdres {
	var $anahtarlar= array();
	var $taban = '';
	function ozelAdres($taban='') {
		$this->taban = $taban;
	}
	function anahtarAyarla($isim='',$deger='') {
		if ($isim) {
			$this->anahtarlar[$isim] = $deger;
		}
	}
	function anahtarBirak($isim='') {
		if ($isim) {
			unset($this->anahtarlar[$isim]);
		}
	}
	function tabanAyarla($deger) {
		$this->taban = $deger;
	}
	function anahtarAl($isim) {
		return $this->anahtarlar[$isim];
	}
	function dize() {
		$r = $this->taban;
		if (count($this->anahtarlar)>0) $r .= '?';
		$tarr = array();
		foreach ($this->anahtarlar as $anahtar=>$deger) {
			$u[] = $anahtar.'='.(urlencode($deger));
		}
		$r .= implode('&',$u);
		return $r;
	}
	function kodla($isim='') {
		return "<a href=\"".$this->dize()."\">$isim</a>";
	}
}
$url = new ozelAdres($_SERVER['PHP_SELF']);
$url->anahtarAyarla('par1','Test');
$url->anahtarAyarla('par2',2);
echo $url->dize()."<br>";
echo $url->kodla('test')."<br>";
$url->anahtarBirak('par1');
echo $url->dize()."<br>";
echo "'par2' degeri ".$url->anahtarAl('par2')."<br>";
?>

Çıktısı

/index.php?par1=Test&par2=2
<a href="/index.php?par1=Test&par2=2">test</a>
/index.php?par2=2
'par2' degeri 2

 

URI Üzerindeki GET Sorgu Dizesi Parametrelerini İşlemek

<?php
class adres {
	var $adres;
	var $site;
	var $deger;
	var $gecici;
	function adres($def="") {
		$this->adres = $def;
		preg_match('/^(.*\?)(.*)$/', $this->adres, $sonuc);
		$this->site = $sonuc[1];
		unset($this->deger);
		$sekme = (explode("&", $sonuc[2]));
		foreach($sekme as $s) {
			$gecici = explode("=", $s);
			$this->deger[$gecici[0]] = $gecici[1];
		}
	}
	function degerEkle($veri, $sal) {
		$this->deger[$veri] = $sal;
	}
	function degerKaldir($veri) {
		unset($this->deger[$veri]);
	}
	function degerGoster($veri) {
		return $this->deger[$veri];
	}
	function yeniAdres() {
		foreach($this->deger as $k=>$s) {
			$this->gecici[] .= $k."=".htmlentities(urlencode($s));
		}
		return $this->site.implode("&",$this->gecici);
	}
}
$x = new adres("http://localhost/index.php?veri1=01&veri2=02");
echo $x->degerGoster("veri1");
echo $x->degerEkle("veri3", "03");
echo $x->degerKaldir("veri2");
echo "<br>";
echo $x->yeniAdres();
?>

Çıktısı

01
http://localhost/index.php?veri1=01&veri3=03

 

__call Fonksiyonu ile Parametre Tanımlayarak Veri Alışverişi Yapmak

Bu örnek yaygın olarak set ve get metodu olarak bilinen uygulamayı içermektedir.

<?php
class Sinifim{
  protected $ayarlar = [];
  public function __call($fonksiyon, $parametreler = null){
		if($fonksiyon == 'ver' && count($parametreler) == 2){
			$anahtar = $parametreler[0];
			$deger = $parametreler[1];
			$this->ayarlar[$anahtar] = $deger;
		}elseif($fonksiyon == 'al' && count($parametreler) == 1){
      $anahtar = $parametreler[0];
      if(array_key_exists($anahtar, $this->ayarlar)) return $this->ayarlar[$anahtar];
    }else{
      exit('Veri tanımlanmadı!');
    }
  }
}
$obje = new Sinifim;
$obje->ver('isim', 'Ulusan');
echo $obje->al('isim')."<br>";
$obje->ver('isim', 'Yazılım');
echo $obje->al('isim')."<br>";
?>

Çıktısı

Ulusan
Yazılım

 

Önemli Ortak Kullanılabilecek Komutlar

<?php
ob_start();//html boşluklarını sıkıştırma
session_start();//oturum başlatma
header('Content-Type: text/html; charset=utf-8');//karakter seti seçimi
header("Cache-Control: no-cache, must-revalidate"); //önbellek almamak için
error_reporting (E_ERROR | E_WARNING | E_PARSE);//hataları göstermek için
set_time_limit(0);//zaman aşımı önlemek için
extract($_POST,EXTR_SKIP); //$_POST["id"] yi $id'ye çevirir
extract($_GET,EXTR_SKIP); //$_GET["id"] yi $id'ye çevirir
extract($_COOKIE,EXTR_SKIP);//$_COOKIE["id"] yi $id'ye çevirir

/*
sayfa içeriği
*/


ob_end_flush();
?>