En son web geliştirme öğreticiler
 

PHP 5 Form İşleme


PHP $ _GET ve $ _POST form verileri toplamak için kullanılır superglobals.


PHP - Basit bir HTML Formu

Aşağıdaki örnekte iki giriş alanları ve Gönder düğmesi ile basit bir HTML formunu görüntüler:

Örnek

<html>
<body>

<form action="welcome.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

</body>
</html>
»Run örnek

Kullanıcı yukarıdaki formu doldurup gönder tuşuna tıkladığında, form verileri adlı bir PHP dosyasına işlenmek üzere gönderilen "welcome.php" . form verileri HTTP POST yöntemi ile gönderilir.

sadece bütün değişkenleri echo olabilir gönderilen verileri görüntülemek için. "welcome.php" şuna benzer:

<html>
<body>

Welcome <?php echo $_POST["name"]; ?><br>
Your email address is: <?php echo $_POST["email"]; ?>

</body>
</html>

Çıktı aşağıdaki gibidir olabilir:

Welcome John
Your email address is [email protected]

Aynı sonuç, HTTP GET yöntemi kullanılarak elde edilebilir:

Örnek

<html>
<body>

<form action="welcome_get.php" method="get">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

</body>
</html>
»Run örnek

ve "welcome_get.php" şuna benzer:

<html>
<body>

Welcome <?php echo $_GET["name"]; ?><br>
Your email address is: <?php echo $_GET["email"]; ?>

</body>
</html>

Yukarıdaki kod oldukça basit. Ancak, en önemli şey eksik. Sen kötü amaçlı kod komut korumak için form verilerini doğrulamak gerekir.

PHP formları işlerken GÜVENLİK düşünün!

Bu sayfa herhangi bir biçimde doğrulama içermiyor, sadece göndermek ve form verilerini alabilir gösterir.

Ancak, sonraki sayfalar güvenlik göz önünde bulundurularak PHP formları işleme nasıl göstereceğim! form verilerini doğru doğrulama korsanları ve spam formunuzu korumak için önemlidir!


POST vs GET

Hem GET ve POST bir dizi oluşturmak (örneğin array( key => value, key2 => value2, key3 => value3, ...) ). Bu dizi anahtar bir şekilde kontrol isimleri ve değerler, kullanıcı girdi veri anahtar / değer çiftleri tutar.

Hem GET ve POST $ _GET ve $ _POST olarak kabul edilir. ve özel bir şey yapmak zorunda kalmadan herhangi bir işlev, sınıf veya dosyadan erişebilirsiniz - Bunlar ne olursa olsun kapsam, her zaman erişilebilir olduğu anlamına gelir superglobalstır.

$ _GET URL parametreleri aracılığıyla akım komut geçirilen değişkenlerin bir dizidir.

$ _POST HTTP POST yöntemi ile mevcut komut geçirilen değişkenlerin bir dizidir.


Ne zaman GET kullanılır?

GET yöntemi ile bir form gönderilen bilgiler (Tüm değişken adları ve değerleri URL içinde görüntülenir) herkes tarafından görülebilir. Ayrıca göndermek için bilgi miktarına sınırları vardır GET. sınırlaması yaklaşık 2000 karakterdir. değişkenler URL'de görüntülenir çünkü Ancak, sayfasına yer imi eklemek mümkündür. Bu, bazı durumlarda yararlı olabilir.

Hassas olmayan veri göndermek için kullanılabilir GET.

Note: şifre veya diğer hassas bilgileri göndermek için kullanılan ASLA GET!


Ne zaman POST kullanılır?

POST yöntemi ile bir formdan gönderilen bilgiler başkalarına görünmez (all names/values are embedded within the body of the HTTP request) ve göndermek için bilgi miktarına sınırları yoktur.

Sunucuya dosyaları yüklerken Üstelik POST böyle çok parçalı ikili giriş için destek gibi gelişmiş işlevleri destekler.

değişkenler URL'ye görüntülenmez çünkü Ancak, sayfasına yer imi eklemek mümkün değildir.

Geliştiriciler Form verilerini göndermek için POST tercih ederim.

Sonra, PHP formları güvenli bir yol işleyebilir nasıl yapıldığını görelim!