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

PHP
60 lines
<?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 } ?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
15 lines
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
)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

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

PHP
55 lines
<?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>';
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
10 lines
---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 )
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Özel Adres Sınıfı

PHP
47 lines
<?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>";
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

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

 

URI Üzerindeki GET Sorgu Dizesi Parametrelerini İşlemek

PHP
40 lines
<?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();
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
2 lines
01
http://localhost/index.php?veri1=01&veri3=03
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

__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
22 lines
<?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>";
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
2 lines
Ulusan
Yazılım
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Önemli Ortak Kullanılabilecek Komutlar

PHP
18 lines
<?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();
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX