PHP’de formlar, kullanıcıların veri girişi yapmasını sağlar. Formlar, HTML etiketleri ile oluşturulur ve veriler, GET veya POST metodları ile gönderilir.
Konu Başlıkları
GET metodu, form verilerini URL’de gösterir ve verilerin güvenliği daha azdır. Örnek olarak:
<form method="get" action="submit.php">
<input type="text" name="username">
<input type="password" name="password">
<input type="submit" value="Submit">
</form>
Bu örnekte, form verileri “submit.php” sayfasına “GET” metodu ile gönderilir ve veriler URL’de görüntülenir.
POST metodu, form verilerini gizler ve verilerin güvenliği daha yüksektir. Örnek olarak:
<form method="post" action="submit.php">
<input type="text" name="username">
<input type="password" name="password">
<input type="submit" value="Submit">
</form>
Bu örnekte, form verileri “submit.php” sayfasına “POST” metodu ile gönderilir ve veriler URL’de görüntülenmez.
PHP tarafında, form verileri $_GET veya $_POST dizileri ile erişilebilir. Örnek olarak:
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = $_POST["username"];
$password = $_POST["password"];
// veritabanı işlemleri veya diğer işlemler
}
Bu örnekte, form verileri “POST” metodu ile gönderildiğinde alınır ve veritabanına kayıt edilir.
Ayrıca, form verilerini $_REQUEST dizisi ile de erişebilirsiniz. Bu dizi hem $_GET hem de $_POST dizilerinden verileri içerir. Ancak, form verilerinin güvenliği açısından $_POST dizisi kullanılması önerilir.
Formlar, kullanıcının veri girişi yapmasını sağlar ve verileri GET veya POST metodları ile gönderir. GET metodu verileri URL’de gösterirken, POST metodu verileri gizler ve verilerin güvenliği daha yüksektir. PHP tarafında, form verileri $_GET, $_POST veya $_REQUEST dizileri ile erişilebilir.
PHP’de örnek iletişim formu yapımı (SMTP)
PHP’de örnek bir iletişim formu, kullanıcıların sitenizde bir iletişim formu aracılığıyla size e-posta göndermelerini sağlar. Bu formun kullanılabilmesi için bir SMTP sunucusu kullanmanız gerekir. Aşağıda örnek bir iletişim formu nasıl oluşturabileceğinizi gösteren kod parçacığı verilmiştir:
<?php
if(isset($_POST['submit'])) {
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$to = "[email protected]"; // alıcının email adresi
$subject = "New Contact Form Submission";
$txt = "You have received a new message from ".$name.".\n\n".$message;
$headers = "From: ".$email;
mail($to, $subject, $txt, $headers);
header("Location: index.php?mailsent");
}
?>
<form method="post" action="">
<label>Name:</label>
<input type="text" name="name" placeholder="Your name">
<label>Email:</label>
<input type="email" name="email" placeholder="Your email">
<label>Message:</label>
<textarea name="message" placeholder="Your message"></textarea>
<input type="submit" name="submit" value="Send">
</form>
Bu kod parçacığı, kullanıcının adı, e-posta adresi ve mesajını içeren bir HTML formu oluşturur. Form verileri, formun action değeri olarak belirtilen sayfaya gönderilir ve PHP kodu tarafından işlenir. İşlenen veriler, mail() fonksiyonu ile belirtilen e-posta adresine gönderilir. E-posta gönderilirken kullanılacak SMTP sunucusunun ayarlarını yapmanız gerekir.
Ayrıca, mail() fonksiyonunu kullanmak yerine, PHP’de e-posta göndermek için kullanabileceğiniz diğer yollar da mevcuttur. Örneğin, PHPMailer adlı bir kütüphane kullanarak daha gelişmiş e-posta gönderme özelliklerine sahip olabilirsiniz. Bu kütüphaneyi kullanarak, e-posta içeriğini daha kolay biçimlendirebilir, dosya eki ekleyebilir veya SMTP sunucusu ile otomatik giriş yapabilirsiniz.
Ayrıca, e-posta göndermeden önce form verilerinin geçerliliğini ve güvenliğini kontrol etmeli ve gerektiğinde filtrelemelisiniz. Örneğin, kullanıcının girdiği e-posta adresinin geçerli bir e-posta adresi olduğundan emin olmalısınız. Ayrıca, kullanıcının girdiği verileri temizlemelisiniz veya kod parçacıklarını engellemelisiniz.
Formu Action ya da Submit.php Dosyasına Göndermek
Formlar, verileri göndermek için action özelliği kullanır. Action özelliği, form verilerinin gönderileceği PHP sayfasının adını veya URL’sini belirtir. Örneğin:
<form method="post" action="submit.php">
<input type="text" name="username">
<input type="password" name="password">
<input type="submit" value="Submit">
</form>
Bu örnekte, form verileri “submit.php” adlı bir PHP sayfasına gönderilir. Bu sayfa, form verilerini işlemek için kullanılır. Örneğin, veritabanına kaydetmek veya e-posta göndermek gibi işlemler yapabilir.
Ayrıca, action özelliği için bir URL kullanabilirsiniz. Örneğin:
<form method="post" action="https://example.com/submit.php">
<input type="text" name="username">
<input type="password" name="password">
<input type="submit" value="Submit">
</form>
Bu örnekte, form verileri “https://example.com/submit.php” adresine gönderilir. Bu adres, başka bir sunucuda bulunan bir PHP sayfası olabilir.
Ayrıca, form verileri işlemek için kullanacağınız php sayfasının ismini kendiniz belirleyebilirsiniz veya formun yer aldığı sayfaya kendisi gönderebilirsiniz. Örneğin :
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<input type="text" name="username">
<input type="password" name="password">
<input type="submit" value="Submit">
</form>
Bu kod parçacığı ile formun gönderildiği sayfaya gönderebilirsiniz. Bu sayede işlemleri daha okunaklı yapabilirsiniz.