Nasıl Yapılır : PHP ile Veritabansız İletişim Formu
Bu yazıda PHP ile veritabanı kullanmadan bir iletişim formu yapacağız.Bildiğiniz gibi genel olarak iletişim formları SMTP(mail gönderme) ya da herhangi bir veritabanına verileri kaydederek çalışır fakat bugün veritabanı yerine bir metin dosyası (txt) kullanarak bu işlemi gerçekleştireceğiz.
Diyagramı ile basite indirgeyebiliriz tabii şifrelememizin sebebi şu, mesajları bir txt dosyasına kaydedeceğimiz için bu mesajları sunucu üzerinden başka kişiler erişebilir bu sebeple dosyada olan mesajları gizlemek için şifreleyeceğiz.
Bu projenin kodlarına GitHub linki üstünden erişebilirsiniz ve diğer projelerim için GitHub üzerinden beni takip edebilirsiniz.
3 adet dosyamız olacak bunlar:
-crypt.php
-index.php
-oku.php
index.php :
İletişim Formu
index.php dosyamız bu şekilde olacak ve ilk kısımdaki css satırları formla ilgili birkaç tasarım için php satırlarını açıklayacak olursak ilk başta herhangi bir kısmın boş olup olmadığını sorguluyoruz şayet boşsa sistem devam etmiyor ve “Hiçbir alanı boş bırakmayın.” uyarısını veriyor.
Bu kontrolün ardından formdan gelen verileri değişkenlere aktarıyoruz.Bu aktarımdan sonra $cikti1 adlı değişkeni yani txt dosyasına kaydedilecek içeriğin şifrelenmemiş halini üretiyoruz.Ondan sonra cryp14 fonksiyonumuz ile $cikti1 değişkenini şifreleyip $sifrelenmis adlı global değişkene aktarıyoruz ondan sonra ise
$myfile = fopen(“table.txt”, “a+”) or die(“!”);
fwrite($myfile,$sifrelenmis);
fclose($myfile);
bölümü ile txt dosyasını açıyoruz ve $sifrelenmis değişkenini table.txt dosyasına yazdırıyoruz.
crypt.php:
bu dosyada anlayacağınız gibi şifreleme fonksiyonunu oluşturduk sizde kendinizinkini hazırlarken burdaki harf karşılıklarını değiştirebilirsiniz.
oku.php:
oku.php dosyası ise bu sistemde formdan gelen mesajları görüntüleneceği arayüz olacaktır.Bu dosyada da mantık şöyle çalışıyor temel olarak txt dosyasının içeriği alınıyor şifrelenme işlemi tersine uygulanıyor yani çözümleniyor ve ilk index.php dosyasındaki $sifrelenmis değişkenini elde etmiş oluyoruz.Bunu da tablo dizaynına entegre ediyoruz ve her bir mesaj tarih , isim ve eposta bilgisiyle listeleniyor.
Örnek sayfalar için :
Ana Sayfa(index.php)
Mesajların Görüneceği Sayfa(oku.php)
Ayrıca merak edenler için mesajların kaydedildiği table.txt
Birkaç ufak not
-Bu sistem halihazırda kullanacaksanız şifre anahtarını yani crypt.php ve oku.php dekileri kesinlikle değiştirmenizi öneririm.
-Güvenlik önlemi olarak index.php dosyasındaki 91,92 ve 93.satırlardaki form verilerini değişkene aktarırken birkaç filtrelemeden daha geçirebilirsiniz.
-Bu projedeki table.txt dosyasını siz oluşturmazsanız (boş bir txt dosyası olarak) oku.php de bir hata alabilirsiniz ama index.php den bir adet bir mesaj girişi olduktan sonra otomatik olarak oluşturulacağı için herhangi bir sorun olmaz.
Bu projeyi kullanmanın tüm sorumluluğu kullananlara aittir.
İletişim:boeskili@yahoo.com