PHP Gönderi Alma ve Dosya Yöntemleri

İçindekiler

Genellikle kendimizi basit bir web sayfası yaparken buluruz, bu yüzden onu programlamak için HTML diline başvururuz, ancak ilerledikçe bunun o kadar basit olmadığını ve daha sonra görüntülemek veya işlemek ve değiştirmek için bilgi girmek istediğimizi fark ederiz, ve bunun için veri giriş formlarına güvenmemiz gerekiyor. İşte o an HTML dili bizim için çok küçülür ve başka dillere yöneliriz. En yaygın olanı PHP'de giriş formları oluşturunve bunun için kullanabiliriz Al ve Gönder yöntemleri.

Her iki yöntemin de çalışması çok basittir, formumuzun bilgilerinin söz konusu komut dosyasında mevcut olması için bir php betiğine bir form gönderiyoruz. Bu sayede web sitemizin interaktif olmasını ve klavye ile girdiğimiz bilgilerin görüntülenebilmesini veya kullanılabilmesini sağlıyoruz.

nasıl olduğunu bilmek çok önemli basit bir HTML formu oluşturun ve sonra iki yöntemden birini kullanın.
Basit bir formun bir örneği aşağıdaki gibidir:

 kullanıcı:
Parola:
Form, HTML'de bir form oluşturacağımızı belirten bir etikettir. Ve burada kullanılan iki nitelik şunlardır:
  • eylem - bu, formumuzun ne tür bir işlem gerçekleştireceğini, yani bilgilerin bir e-postaya, bir programa veya bir web sayfasına gönderilip gönderilmeyeceğini söyler.
  • yöntem - ne tür bir yöntem kullandığımızı, Al veya Gönder, yani formun gönderilme şeklini tanımlayan özniteliktir. GET veya POST olabilir, ancak varsayılan olarak belirtmezsek GET olacaktır.

Ama şimdi, kullanmak arasındaki fark nedir? Gönderme yöntemi ve Yöntemi al?

Get ile başlayalım:

GET yöntemiBirincisi, önceki örnekte yöntemde biçim koymak zorundayız "Elde etmek".
Get üzerinden veri gönderirsek, bilgiler bir URL'de gönderilir ve talep ettiğimiz sayfanın yüklenmesi bittiğinde gönderilen verileri kullanıcı görebilir, yani formumuzun verilerini girerken, bu durumda kullanıcı adı ve şifre, söz konusu veriler tarayıcımızda aşağıdaki gibi görünecektir:
http://miweb.com/for… şifre = 1986

Başka bir deyişle, önce web sayfamızın adı, ardından bir çubukla ayrılmış formun adı, yani web adresinin kendisi gelir; ve soru işaretinden sonra klavyede girmiş olduğumuz alanların değerleri görünecektir.

aracılığıyla gönderilen bilgilere erişmek için PHP ile al formu aşağıdaki gibidir:

 
değişkeni kullanmak zorundayız. $ _GET bilgileri toplamak ve herhangi bir değişkene girmek için almak istediğimiz alanın adı ile ve ardından normal olarak herhangi bir değişken türü gibi kullanabiliriz.
Echo ile görselleştirilir ve php'de kullandığımız diğer değişkenlerle aynı şekilde erişilir veya değiştirilir.

NS Get yöntemini kullanmanın dezavantajı, girdiğimiz bilgilerin görünür olacağıdır. ve gizli bir şekilde gönderilmez. Bu nedenle şifre, kredi kartı vb. gizli bilgileri gönderirsek bilgilerimiz güvende olmayacaktır.

Diğer Get kullanmanın dezavantajı, formumuz birçok alana sahipse, tüm değerler URL'mizde bir araya getirilecek, bu nedenle tarayıcıda aşırı uzun bir adresimiz olacak ve ancak desteklenen maksimum uzunluk yalnızca 2048 karakterdir.

Ayrıca şunu da eklemek gerekir ki alma yöntemi ona ikili bilgi veya belgeler gönderilemez, ancak yalnızca ASCII kodlu karakterleri kabul eder.

Sonuç olarak, GET yönteminin, önemsiz bilgiler göndermeyeceksek veya herkes tarafından görülebilmesi önemli olmadığı sürece, genel olarak pek tavsiye edilmediğini ve az bilgi olduğunu söyleyebiliriz.

POST yöntemiBu durumda HTML giriş formunda get in yöntemi yerine post koymak zorunda kalacağız. Get'ten farklı olarak, form aracılığıyla gönderdiğimiz bilgiler URL'de değil, şifrelenmiş olsun veya olmasın http isteğinin gövdesinde dolaşır.

Nasıl kullanılır php'de yayınla sonraki:

 
Get'te yaptığımız gibi istediğimiz alanın içeriğini herhangi bir değişkene kaydediyoruz ama bu sefer $ _POST. Konu onu görüntülemeye, bilgileri değiştirmeye vb. gelince tamamen aynı şekilde çalışır.

Ne Get'e göre avantajlar birbirlerini bulurlar:

  • Get'te olduğu gibi 2048 karakter boyutunda bir kısıtlama yoktur.
  • Bazı protokoller aracılığıyla gönderirsek, bilgiler güvenli bir şekilde seyahat edebilir.
  • ASCII kodlu karakterleri kabul etmenin yanı sıra ikili veri de gönderebiliriz.

DOSYALAR yöntemiİle Yöntemi al dosyaların veya ikili verilerin gönderilemediğini söyledik. İle posta yöntemi Evet, dosya gönderebiliriz, ancak tanımlayıcı olduğundan beri FILES adlı posta yönteminin özel bir biçimidir. $ _FILES.
Bunun için değişiklik yapmanız gerekir HTML giriş formu:

 Yüklenecek dosya: 
İlk satırda, form etiketinin bir özelliği olan ve bilgilerin form aracılığıyla gönderildiğinde nasıl seyahat edeceğini bize söyleyen ayrılmış kelime enctype'ı tanıttık. Bu özniteliğe multipart / form-data koyduk, yani ikili veri göndereceğiz ve formun içinde, giriş tipine dosya koyarak gönderilecek olanın bir dosya olduğunu belirtmeliyiz.
Bu durumda artık değişkeni kullanmayacağız $ _POST ama kullanmalıyız $ _FILESve dosyalarla uğraşırken, aşağıdaki örnekte olduğu gibi bir hata işleme yapmak uygundur:
 0) {yankı "Hata:". $ _FILES ["dosya"] ["hata"]. "
";} else {echo" Ad: ". $ _FILES [" dosya "] [" ad "]."
"; echo" Tip: ". $ _FILES [" file "] [" type "]."
"; echo" Boyut: ". $ _FILES [" dosya "] [" boyut "]."
"; echo" Yol: ". $ _FILES [" dosya "] [" tmp_name "];}?> var13 ->
nerede:
-> $ _ FILES ["dosya"] ["hata"], söz konusu dosyayla ilişkili hata kodunu içerir.
-> $ _ FILES ["file"] ["name"] dosyanın adıdır.
-> $ _ FILES ["file"] ["type"], bu değer sağlanmışsa gönderilen dosyanın türüdür. Bu alan sunucu tarafında kontrol edilmediğinden bilgiler doğru olmayabilir.
-> $ _ FILES ["dosya"] ["boyut"] dosyanın boyutunu belirtir, her zaman bayt olarak ifade edilir.
-> $ _ FILES ["file"] ["tmp_name"] Sunucuya yüklediğimiz dosyanın saklandığı dosyanın yolu veya geçici adıdır.

SonuçAçıklamadan sonra zaten biliyoruz ki yapılacak en akıllı şey POST yöntemi bilgileri daha güvenli bir şekilde ele alabilmek için giriş formlarımızı hazırlarken ve DOSYALAR yöntemi web sitemize dosya yüklemek istiyorsak.

Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave