⊗ppPmFmOFH 299 of 447 menu

Formun PHP'de Tek Dosyada İşlenmesi

Önceki derste formumuz bir sayfada yer alıyordu, ancak başka bir sayfaya gönderiliyordu. Aslında bu gerekli değildir. Eğer action niteliği boş bırakılır veya tamamen kaldırılırsa, form aynı sayfaya gönderilecektir.

Bu nasıl çalışacak: Sayfaya ilk girişte formu verilerle dolduracağız ve butona basacağız. Bundan sonra sayfa yenilenecek ve kodu form verileriyle tekrar çalıştırılacak.

Bir örnek üzerinden inceleyelim. Tek bir dosyada form ve onun işlemi olduğunu varsayalım:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php var_dump($_GET); ?>

Sayfaya ilk girişte var_dump işlevi boş bir dizi yazdıracak. Form gönderildikten sonra ise artık form verilerini yazdıracak. Yani ilk seferde $_GET boş olacak, ikinci seferde - form verilerini içerecek.

Bu sorunlara yol açabilir. Örneğin, formaa sayılar gireceğimizi ve bu sayıların toplamını ekranda göstermek istediğimizi varsayalım:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php echo $_GET['test1'] + $_GET['test2']; ?>

Bu durumda, sayfaya ilk girişte $_GET dizisinin boş olduğu ve bizim onun elemanlarına erişmeye çalışmamızla ilgili PHP hataları göreceğiz.

Burada şunu söylemek gerekir, tarayıcınızda hatalar görünmeyebilir. Bu durumda PHP hata çıktısının açık olduğunu kontrol edin ve ayrıca adres çubuğunda form verileri olmadan sayfaya ilk giriş yaptığınızdan emin olun.

Problemi düzeltelim. Bunun için, formun gönderilip gönderilmediğini kontrol edeceğimiz bir koşul ekleyelim.

Örneğin, $_GET'nin boş olup olmadığını kontrol edebiliriz. Eğer $_GET boş değilse - form gönderilmiştir ve toplama işlemi yapılabilir. Aksi takdirde sayfaya ilk kez giriliyordur ve toplama işlemi yapılmayacaktır. İşte düzeltilmiş kod:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php if (!empty($_GET)) { echo $_GET['test1'] + $_GET['test2']; } ?>

Kullanıcıdan soyadı, adı ve baba adını sorun. Form gönderildikten sonra girilen verileri ekrana yazdırın.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet