28 Temmuz 2015 Salı

PHP'DE ÖN TANIMLI DEĞİŞKENLER

PHP'DE ÖN TANIMLI DEĞİŞKENLER

1)SÜPER KÜRESELLER

*$GLOBALS
*$_SERVER
*$_GET
*$_POST
*$_FILES
*$_COOKIE
*$_SESSION
*$_REQUEST
*$_ENV

2)$php_errormsg


3)$HTTP_RAW_POST_DATA


4)$http_response_header


5)$argc ve $argv




1)SÜPER KÜRESELLER

$GLOBAL

Küresel alanda bulunan bütün değişkenleri içerir.

 ÖRNEK






$_SERVER

 Sunucu ve işletme ortamı bilgisi

ÖRNEK






$_POST

Bu değişken post metoduyla çekilen verilerin ele alınmasını sağlar. HTTP POST metodunun değişken dizisinin bir elemanıdır.
POST metoduyla gönderilen bilgilerin büyüklük sınırı yoktur ve kullanıcı tarafından görülmez.

ÖRNEK


"bilgi.php" dosyasını aşağıdaki gibi oluşturalım.



İSSET  fonksiyonu, parametre olarak verilen değişkenin tanımlı olup olmadığını kontrol eder.



$_GET

 Method=”get” ifadesiyle bilgilerin GET metodu ile gönderileceği belirtilmiştir. Aslında form yapılarında çoğu zaman POST metodu kullanılır. Get metodu pek kullanılmaz. Burada sadece get metodu ile bilgi göndermeye ve almaya örnek vermekteyiz.
$_GET değişkenini kullandığımızda bütün değişkenler isimleri ve değerleri url de görüntülenir. Yani şifte işlemleri ve özel veri aktarımı için bu method güvenli değildir. Gönderilen bilgi miktarının bir limiti vardır.(max:100 karakter gibi)

ÖRNEK


"gbilgi.php" dosyası aşağıdaki gibi oluşturalım.





$_SERVER

Php de sunucunun , clientin , tarayıcının ip veya diğer bilgilerini öğrenmek için server değişkenlerini kullanabiliriz.Bu değişkenlerin tamamını kullanabilmemiz için gerekli tüm izinlerin sunucu sahibi tarafından sağlanması gerekir.Aksi takdirde betiklerin sadece bir bölümü çalışacaktır .

GATEWAY_INTERFACE

CGI(Common Gateway Interface) bir web sunucusunun aynı makinadaki programlarla ve o programların web sunucusuyla olan iletişimlerini düzenleyen kurallara verilen addır.Bu konuda CGI versiyonu görebiliriz.


<? php echo $_SERVER['GATEWAY_INTERFACE']; ?>


SERVER_ADDR

Bu komutla sunucumuzun IP adresini alabiliriz.


<? pho echo $_SERVER['SERVER_ADDR'] ?>


SERVER_NAME

Bu komutla sunucumuzun ismini öğrenebiliriz.


<? php echo $_SERVER['SERVER_NAME']; ?>


SERVER_SOFTWARE

Bu komut ile sunucumuzun işletim sistemini,php sunucumuzun işletim sistemini ve php versiyonunu öğrenebiliriz.


<? php echo $SERVER['SERVER_SOFTWARE']; ?>


SERVER _PROTOCOL

Bu komut ile sayfamızın sorgu yaparken hangi protokolü kullandığını öğrenebiliriz


<? php echo $_SERVER['SERVER_PROTOCOL']; ?>


QUERY_STRING

Bu komut ile adres çubuğumuzdaki querystringleri alabilirz.


<?php echo $_SERVER['OUERY_STRING']; ?>


DOCUMENT_ROOT

Bu komut php dosyalarınızın çalıştığı klasörün adresini verir. 


<?php echo $_SERVER['DOCUMENT _ROOT']; ?>

HTML_ACCEPT

Bu komut html sayfamızda kabul edilen içerik türlerini öğrenmemize olanak sağlar.

<?php echo $_SERVER['HTTP_ACCEPT']; ?>

HTML_ACCEPT_CHARSET

Bu komut html sayfamızdaki varsayılan karakter setlerini öğrenmemize olanak sağlar.


<?php echo $_SERVER['HTTP_ACCEPT_CHARSET']; ?>


HTML_ACCEPT_LANGUAGE

Bu komut html sayfamızdaki varsayılan dili öğrenmemize olanak sağlar.


<?php echo $_SERVER['HTTP_ACCEPT_LANGUAGE']; ?>


HTML_USER_AGENT

Bu komut clientimizin tarayıcısıyla  ilgili öğrenebiliriz.


<?php echo $_SERVER['HTTP_USER_AGENT']; ?>


REMOTE_ADDR

Bu komut ile clientimizin IP adresini öğrenebiliriz.


<?php echo $_SERVER['REMOTE_ADDR']; ?>


REMOTE_PORT

Bu komut ile clientimizn sunucusuyla iletişim portunu öğrenebiliriz.


<?php echo $_SERVER['REMOTE_PORT']; ?>


SERVER_ADMIN

Bu komut ile server adminizin iletişim bilgilerini öğrenebiliriz.


<?php echo $_SERVER['SERVER_ADMIN']; ?>


SERVER_PORT

Bu komut ile serverımızın portunu öğrenebiliriz.


<?php echo $_SERVER['SERVER_PORT']; ?>


SCRIPT_NAME

Bu komut ile çalışan betiğimizin adını öğrenebiliriz.


<?   php echo $_SERVER['SCRIPT_NAME'];  ?>


ÖRNEK


Ekran Çıktısı:


 


$_FILES

Dosya yükleme  değişkenleri.Seçtiğimiz dosyayı gönderme yada başka bir klasöre yükleme yapabiliriz.

"file.php" adında dosyamızı oluşturalım.

"gonder.php" dosyamızıda oluşturalım.


Ekran Çıktıları:








$_FILES["file"]["error"]

Bu bir hata kodudur.Dosya yüklenmesinde eğer bir sorun ile karşılaşıldıysa karşılaşılan sorun

$_FILES["file"]["name"]

Yüklediğimiz dosyanın adı

$_FILES["file"]["type"]

Yüklenilen dosyanın türü

$_FILES["file"]["size"]

Yüklediğimiz dosyanın büyüklüğü

$_FILES["file"]["tmp_name"]

Yüklediğimiz dosyanın sunucu tarafından oluşturulan geçici kopyasının adını bizlere vermektedir.

ÖRNEK


$_COOKIE

Geçerli betiğe  HTTP  çerezleri üzerinden aktarılan bütünleşik bir değişken dizi.
Cookie’lerin (çerezlerin) yönetiminde kullanılır.
Girilen sitelerin tarayıcılar üzerinde bıraktığı izlere cookie denir. Bu izler siteye tekrar ziyaret edildiğinde yeniden gönderilerek bazı şeylerin yeniden hatırlanmasını sağlar. Kullanıcı adı ve şifremizi gibi. Şimdi cookileri oluşturma, silme,  kullanma ve değerini değiştirme işlemlerine tek tek bakalım.

 Cookie Oluşturma

PHP'de cookie oluşturma işini bir setcookie() fonksiyonu ile yapıyoruz.Fonksiyonda tarayıcıya gönderilecek ve saklanacak olan değerin anahtarını ve içeriğini belirttiğimiz gibi birde ne kadar süre tarayıcıda saklanacağını belirtiyoruz.


Eğer çerezin bizim istediğimiz bir gelecek tarihte silinmesini istiyorsakta 3. parametreyi devreye sokacağız.


time()+(60*60*24)  saniye cinsinden tam olarak 24 saat yani 1 gün cookie hatırlanacaktır.

Cookie Silme

Oluşturduğumuz cookie slmek için yine yeni bir çerez tanımlarmış gibi setcookie() fonksiyonunu kullanıyoruz.Tek fark 3.parametre olan tarihde geçmiş zamana gitmiş oluyoruz böylece cookienin zamanı dolmuş olup siliniyor.



Cookie Kullanımı

Çerez kullanımı $_COOKIE dizisi üzerinden yapılır.Bu dizi otomatik olarak o sayfaya gönderilen çerezlere göre oluşur.




Cookie Değerini Değiştirmek

Çerezleri oluşturmakta ve silmekte olduğu gibi değerini değiştirmekdede setcookie() fonksiyonunu kullanıyoruz.Ve oluşturmakta olduğu gibi değerini değiştirmekle aynıdır.Sadece çerez adına önceden tanımladığımız adı yazmamız yeterli.






Cookie Tanımlanmış Mı Diye Bakmak

Tüm değişkenlerin varlığını kontrol edecek olan isset() fonksiyonu ile bir çerezin var olup olmadığını kontrol edebiliriz.



Ekranda bir şey yazmaz,FALSE değeri döner.Eğer böyle bir çerez bulunsaydı ekranda 1 değeri yazardı.

$_SESSION

Session aynı çerezlerde olduğu gibi $_SESSION global dizisi ile okunur,fakat yazılması için çerezlerdeki gibi bir fonksiyona ihtiyaç duymaz.Çerezin son kullanma tarihini biz belirlerken sessionlar,tarayıcının kapatılmasıyla silinir.Yani siteye girildiğinde oluşturacağımız sessionlar,girenin sayfayı kapatmasıyla silinecektir.Kullanım,oluturma ve silme dışındaki asıl teknik farkıda sessionların tarayıcıya direkt olarak tanımlanmıyor olması.

Session ile Cookie arasındaki fark

Bunu şöyle açıklayayım; bir çerez tanımladığımızda bu çerezin adı ve değeri tarayıcıya açıkca gönderilir ve bu değer istenilen süre boyunca tarayıcıda açık bir şekilde saklanır.
Sessionda ise kaydedilen değer ve değerin adı tarayıcıya gönderilmez. Onun yerine PHPSESSIDadında içinde uzun bir session id değeri bulunan bir çerez tanımlanır. Ve bizim oluşturduğumuz sessionlar sunucuda saklanır ve girenlerin gönderdiği PHPSESSID kimliğine göre kime ait oldukları bulunur ve yeniden düzenlenir.
Session Nerelerde Kullanılır
Oturumun kapanmasıyla silinmesi ve tekniği nedeniyle session verileri daha çok kullanıcılarınızın sitenize giriş yaptığında onları tarayıcıyı kapatana kadar giriş yapmış şekilde tutmanıza ve bazı yerlerde sanal sepet uygulamarını gerçekleştirmenizde kullanılır.

Session Oluşturma 

Yukardada belirttiğim gibi $_SESSION global dizisi üzerinden okuyup,oluşturup,silebiliyoruz.Tek önemli nokta session kullanımına yada oluşturulmasına başlamadan önce bir kere sayfanın en başında sesion_start() fonksiyonu yazmalıyız,bu fonksiyon sessionu kullanıma hazırlar.


Yukarıda ilk önce session kullanımını başlattık ve ardından aynı bir dizi tanımlarmış gibi                   $_SESSION global dizisine mesaj anahtarına Selam dünya! değerini verdik. Yani mesaj adında bir session oluşturduk ve değerini Selam dünya! yaptık.

Bu oluşturduğumuz değer giren kişinin tarayıcısı kapatılmadığı sürece gezdiği her sayfaya tekrar geri gönderilecek ve bir önceki sayfada yaptığı işlemleri, kullanıcı adı ya da şifre gibi verileri bu şekilde yeniden hatırlanmasını sağlayacak.
Mesela session ile bir sayfada giren kişinin adını belirtmesini isteyip tüm sayfalarda onun bu adını hatırlatabilirim.
  Session dizi(array) atama

Sessionlara yazı,sayı gibi değerler atadığımız gibi aynı zamanda dizide atayabilirz.Bunu yapmak için sıradan bir dizi tanımlıyor gibi yapıcağız.




Session Silme

Session silme işlemindede  unset()  fonksiyonunu kullanıyoruz.



Tüm Sessionları Silmek

Bu işlem içinde sesion_destroy() fonksiyonunu kullanacağız.Bu fonksiyon tanımlanmış tüm sessionları yok eder.


Session var mı diye kontrol etmek


Yine isset() fonksiyonunu kullanacağız.Bu fonksiyon içine yazdığımız session varsa olumlu yoksa olumsuz döner.


$_REQUEST

$_GET,$_POST ve $_COOKIE değişkenlerini beraberinde bulundurur.Çok gerekmedikçe kullanımı tavsiye edilmez.

ÖRNEK

"index.php" adında bir dosya oluşturup içine aşağıdaki kodları yazıyoruz.



"gonder1.php" adında bir doya daha açıp aşağıdak kodları yazalım


Çalıştırdığımızda aşağıdaki  kutucuklar çıkar.Kutucukları doldurup "gönder" butonuna basıyoruz.


ve sonuç


$_ENV

Ortam değişkenleridir. Php yorumlayıcısının çalıştığı ortamdaki global namespace’idir.
$_ENV global değişkeni sistem değişkenlerini tutmaya yarayan bir süper küresel değişkendir. Platform özelliği, dosya yolu gibi bilgileri kullanmaya yarar.

ÖRNEK






2)$php _errormsg

$php_errormsg->Önceki hata iletisi
PHP tarafından üretilen son hata iletisinin metnini içeren bir değişkendir.Bu değişken sadece hatanın oluştuğu alanın içinde ve sadece track_errors (ön tanımlı değeri kapalıdır) ayar seçeneği açıldıysa geçerlidir. 






3)$HTTP_RAW_POST_DATA

Ham POST verisidir. POST ile aldığımız mesaj çok karmaşık yada parçalı bir şekilde olabilir. Bunu $HTTP_RAW_POST_DATA  ile çok güzel bir şekilde gösterebiliriz.

4)$http_response_header

HTTP yanıt başlıklarıdır. Bu dizi get_headers() işlevi gibidir. http sarmalayıcı kullanılırken, $http_response_header http yanıt başlıklarından oluşturulur.

ÖRNEK




5)$argc ve $argv

Php’de konsol uygulamalarında kullandığımız parametre değişkenleri vardir. $argv dizisi ile verilen parametreleri, $argc ile parametre sayısını alırız.

ÖRNEK






Öntanımlı değişkenlerimizi burada bitiriyoruz. Daha fazla bilgi için  http://be2.php.net/manual/tr/reserved.variables.php adresini ziyaret edebilirsiniz.

27 Temmuz 2015 Pazartesi

ÜYE KAYIT FORMU HAZIRLAYIP VERİ EKLEME VE SİLME İŞLEMLERİ

ÜYE KAYIT FORMU HAZIRLAYIP VERİ EKLEME VE SİLME İŞLEMLERİ

Üye kayıt formu hazırlamak için öncelikle tabloya ihtiyacımız var."okuladında bir tablo oluşturalım .
numara,ad,soyad,bolum,ders şeklinde sütun adlarını yazıp veri türlerini belirleyelim.






Notepad++ girip "veritabani" adında "php" uzantılı bir dosya açıyoruz ve mysql  bağlantısı yapıyoruz.(Daha önceki derslerde gösterilmiştir.)


Notepad++ "index.php" dosyası açalım.



Notepad++  "ekle.php" dosyası açalım.







Notepad++  "sil.php" dosyası açalım.








Kodları çalıştırdığımızda aşağıdaki gibi sonuç veriyor.

ÖRNEKLER

1)Öğrenci kayıt örneği yapalım.






2)Kayıt silme örneği yapalım.