CodeBlanks Logo Icon CodeBlanks

Form iskeleti

PHP kursu · Orta seviye · Ders 95/115

Ad, e-posta ve mesaj alanlarıyla iletişim formu iskeletini kurarsın.

Form iskeletini kurmak

İletişim formunun iskeletini kurmak için bir renderForm() fonksiyonu yazarsın. Bu fonksiyon HTML formu bir dize olarak döndürür; böylece formu sayfanın istediğin yerinde echo ile yazdırabilirsin.

Form method="post" ile gönderilir; böylece veri URL'de değil istek gövdesinde taşınır. İçine type="text" (ad), type="email" (e-posta), <textarea> (mesaj) ve type="submit" (gönder düğmesi) alanlarını koyarsın. Her alanın bir name özniteliği olmalıdır; PHP veriyi bu isimle $_POST içinde yakalar.

renderForm ile HTML üretmek

renderForm() bir : string dönüş türü belirten fonksiyondur. İçinde tek tırnaklı bir dizeyi . operatörüyle parça parça birleştirirsin. Bu, HTML içinde çift tırnak kullanırken kaçış (escape) yapmak zorunda kalmamak içindir.

Örnek: return '<form method="post">' . '<input type="text" name="name">' . '</form>';. Her satır bir etiket ekler; sonunda return ile tamamı döndürülür. Sonra echo renderForm(); ile formu ekrana yazdırırsın.

Uygulama renderForm fonksiyonunu yaz

Bir renderForm(): string fonksiyonu yaz. İçinde method="post" olan bir <form> etiketi döndür. Form içinde name="name" (text), name="email" (email), name="message" (textarea) alanları ve bir type="submit" düğmesi olsun. Son satırda echo renderForm(); ile formu yazdır.

Örnek çözümü göster
string { ... } yaz. İçinde tek tırnaklı dizeleri . ile birleştir: '<form method="post" action="/iletisim.php">' . '<label>Ad: <input type="text" name="name"></label>' . '<label>E-posta: <input type="email" name="email"></label>' . '<label>Mesaj: <textarea name="message"></textarea></label>' . '<input type="submit" value="Gönder">' . '</form>' döndür. Son satırda echo renderForm(); yaz.
Örnek çözüm:
<?php
// Form iskeletini ekle
class ContactMessage {
    public string $name = "";
    public string $email = "";
    public string $message = "";
}

function renderForm(): string {
    return '<form method="post" action="/iletisim.php">'
        . '<label>Ad: <input type="text" name="name"></label>'
        . '<label>E-posta: <input type="email" name="email"></label>'
        . '<label>Mesaj: <textarea name="message"></textarea></label>'
        . '<input type="submit" value="Gönder">'
        . '</form>';
}

echo renderForm();

Kendini test et

  1. İletişim formu hangi method ile gönderilmeli?

    • GET
    • POST
    • REQUEST
    • FORM
    Cevabı göster

    POST — Doğru. POST veriyi istek gövdesinde taşır; URL'de görünmez. İletişim formu gibi veriler için uygundur.

  2. Form etiketinde method değerini tamamla

    '<form method="____" action="/iletisim.php">'
    Cevabı göster
    '<form method="post" action="/iletisim.php">'
  3. Form öğelerini eşleştir

    type="text"
    Ad kutusu
    type="email"
    E-posta kutusu
    <textarea>
    Mesaj kutusu
    type="submit"
    Gönder düğmesi

Orta seviye bölümündeki tüm dersler