PHP ile veritabansız iletişim formu yapımı

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Seçkin Üye
Katılım
10 Nis 2016
Mesajlar
386
Tepki puanı
15
Ödüller
9
10 HİZMET YILI
Merhaba Bu yazıda sizlere 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

3 adet dosyamız olacak bunlar:
-crypt.php
-index.php
-oku.php

index.php dosyamızın içeriği :
PHP:
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>İletişim Formu</title>
<style type="text/css">
.enjoy-css {
  display: inline-block;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  padding: 10px 20px;
  border: 1px solid #b7b7b7;
  -webkit-border-radius: 7px;
  border-radius: 7px;
  font: normal 16px/normal "Times New Roman", Times, serif;
  color: rgba(0,0,0,1);
  -o-text-overflow: clip;
  text-overflow: clip;
  background: rgba(252,252,252,1);
  -webkit-transition: all 200ms cubic-bezier(0.52, -0.005, 0.58, 1);
  -moz-transition: all 200ms cubic-bezier(0.52, -0.005, 0.58, 1);
  -o-transition: all 200ms cubic-bezier(0.52, -0.005, 0.58, 1);
  transition: all 200ms cubic-bezier(0.52, -0.005, 0.58, 1);
}
.enjoy-css2 {
  display: inline-block;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  cursor: pointer;
  padding: 10px 20px;
  border: 1px solid #018dc4;
  -webkit-border-radius: 9px;
  border-radius: 9px;
  font: normal 16px/normal "Lucida Sans Unicode", "Lucida Grande", sans-serif;
  color: rgba(255,255,255,0.9);
  -o-text-overflow: clip;
  text-overflow: clip;
  background: #0199d9;
  -webkit-box-shadow: 2px 2px 2px 0 rgba(0,0,0,0.2) ;
  box-shadow: 2px 2px 2px 0 rgba(0,0,0,0.2) ;
  text-shadow: -1px -1px 0 rgba(15,73,168,0.66) ;
  -webkit-transition: all 300ms cubic-bezier(0.715, 0.48, 0.255, 0.56) 1ms;
  -moz-transition: all 300ms cubic-bezier(0.715, 0.48, 0.255, 0.56) 1ms;
  -o-transition: all 300ms cubic-bezier(0.715, 0.48, 0.255, 0.56) 1ms;
  transition: all 300ms cubic-bezier(0.715, 0.48, 0.255, 0.56) 1ms;
}
    table.customTable {
  width: 100%;
  background-color: #FFFFFF;
  border-collapse: collapse;
  border-width: 1px;
  border-color: #0C7BB3;
  border-style: solid;
  color: #000000;
}
 
table.customTable td, table.customTable th {
  border-width: 1px;
  border-color: #0C7BB3;
  border-style: solid;
  padding: 12px;
}
 
table.customTable thead {
  background-color: #25CC41;
}
</style>
</head>
<body>
<form id="ilt" action="#" method="POST">
<p>İsim ve Soyisim: </p><input type="text" name="ad" class="enjoy-css"/>
<p>E-Posta: </p>    <input name="eposta" type="email" class="enjoy-css"/>
<p>Mesajınız: </p> <p> <textarea form="ilt" name="mesaj" rows="10" cols="65"></textarea></p>
 
<input type="submit" class="enjoy-css2" value="Gönder"/>
 
</form>
    
    <?php
    /*
    Form Gönderildikten Sonra ~ After Form Posted
    */
    if($_POST){
        if(empty($_POST['ad']) or empty($_POST['eposta']) or empty($_POST['mesaj'])) {
            
        echo "Hiçbir alanı boş bırakmayın.";
            
        }else{
        $ad = htmlentities(urldecode($_POST['ad']));
        $eposta = htmlentities(urldecode($_POST['eposta']));
        $mesaj = htmlentities(urldecode($_POST['mesaj']));
        $tarih = date("d.m.Y G:i:s");  // Zaman
        $cikti1 = ' <tr>  <td>'.$ad.'</td>  <td>'.$eposta.'</td> <td>'.$tarih.'</td> <td>'.$mesaj.'</td> </tr>';
        
   require_once('crypt.php');
        
    cryp14($cikti1);
    $myfile = fopen("table.txt", "a+") or die("!");
         fwrite($myfile,$sifrelenmis);
    fclose($myfile);
        echo "Başarıyla iletildi.";
        }
    }
    ?>
</body>
</html>

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 içeriği :
PHP:
<!--?php
 
     function cryp14($degisken){
$degis = array(
"a"  =&gt; "c",
"b"  =&gt; "ç",
"c"  =&gt; "d",
"ç"  =&gt; "e",
"d"  =&gt; "f",
"e"  =&gt; "g",
"f"  =&gt; "ğ",
"g"  =&gt; "h",
"ğ"  =&gt; "ı",
"h"  =&gt; "i",
"ı"  =&gt; "j",
"i"  =&gt; "k",
"j"  =&gt; "l",
"k"  =&gt; "m",
"l"  =&gt; "n",
"m"  =&gt; "o",
"n"  =&gt; "ö",
"o"  =&gt; "p",
"ö"  =&gt; "r",
"p"  =&gt; "s",
"r"  =&gt; "ş",
"s"  =&gt; "t",
"ş"  =&gt; "u",
"t"  =&gt; "ü",
"u"  =&gt; "v",
"ü"  =&gt; "y",
"v"  =&gt; "z",
"y"  =&gt; "a",
"z"  =&gt; "b",
        );
        global $sifrelenmis;
    $sifrelenmis = strtr($degisken, $degis);
        }
        
        ?-->

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 içeriği :
PHP:
<style type="text/css">
  table.customTable {
  width: 100%;
  background-color: #FFFFFF;
  border-collapse: collapse;
  border-width: 1px;
  border-color: #0C7BB3;
  border-style: solid;
  color: #000000;
}
 
table.customTable td, table.customTable th {
  border-width: 1px;
  border-color: #d1d1d2;
  border-style: solid;
  padding: 12px;
}
 
table.customTable thead {
  background-color: #86DE95;
}
</style>
 
<!--?php
 
$dosya = fopen('table.txt', 'r');
$icerik = fread($dosya, filesize('table.txt'));
 
        
$degis = array(
"d"  =&gt; "c",
"e"  =&gt; "ç",
"f"  =&gt; "d",
"g"  =&gt; "e",
"ğ"  =&gt; "f",
"h"  =&gt; "g",
"ı"  =&gt; "ğ",
"i"  =&gt; "h",
"j"  =&gt; "ı",
"k"  =&gt; "i",
"l"  =&gt; "j",
"m"  =&gt; "k",
"n"  =&gt; "l",
"o"  =&gt; "m",
"ö"  =&gt; "n",
"p"  =&gt; "o",
"r"  =&gt; "ö",
"s"  =&gt; "p",
"ş"  =&gt; "r",
"t"  =&gt; "s",
"u"  =&gt; "ş",
"ü"  =&gt; "t",
"v"  =&gt; "u",
"y"  =&gt; "ü",
"z"  =&gt; "v",
"a"  =&gt; "y",
"b"  =&gt; "z",
"c"  =&gt; "a",
"ç"  =&gt; "b",
        );
    
    $sonhal = strtr($icerik,$degis);
echo "&lt;table class='customTable'&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;İsim&lt;/th&gt;&lt;th&gt;E-posta&lt;/th&gt;&lt;th&gt;Tarih&lt;/th&gt;&lt;th&gt;Mesaj&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;".$sonhal." &lt;/tbody&gt;&lt;/table&gt;";
fclose($dosya);
?-->
 
Hand Of The God
Ultra Üye
Katılım
3 Nis 2019
Mesajlar
1,638
Çözümler
12
Tepki puanı
148
Ödüller
9
Yaş
36
7 HİZMET YILI
bılgılendırme ıcın tesekkurler hocam elınıze saglık
 
Dünyalı dostum tam olarak anlamadın galiba
Emektar Üye
Katılım
11 Eki 2020
Mesajlar
1,736
Çözümler
106
Tepki puanı
418
Ödüller
8
Sosyal
5 HİZMET YILI
çok güzel olmuş ellerine sağlık güzel :gelisirabi::gelisirabi:bilgilendirme...
 
Ey yüce yaradan bana fantastik bir hayat yaşattın.
Emektar Üye
Katılım
2 Ocak 2016
Mesajlar
4,595
Çözümler
1,842
Tepki puanı
2,297
Ödüller
18
10 HİZMET YILI
Elinize sağlık çok detaylı bir şekilde hazırlamışsınız.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst