Seçkin Üye
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 :
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
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 :
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 :
crypt.php içeriği :
PHP:
<!--?php
function cryp14($degisken){
$degis = array(
"a" => "c",
"b" => "ç",
"c" => "d",
"ç" => "e",
"d" => "f",
"e" => "g",
"f" => "ğ",
"g" => "h",
"ğ" => "ı",
"h" => "i",
"ı" => "j",
"i" => "k",
"j" => "l",
"k" => "m",
"l" => "n",
"m" => "o",
"n" => "ö",
"o" => "p",
"ö" => "r",
"p" => "s",
"r" => "ş",
"s" => "t",
"ş" => "u",
"t" => "ü",
"u" => "v",
"ü" => "y",
"v" => "z",
"y" => "a",
"z" => "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" => "c",
"e" => "ç",
"f" => "d",
"g" => "e",
"ğ" => "f",
"h" => "g",
"ı" => "ğ",
"i" => "h",
"j" => "ı",
"k" => "i",
"l" => "j",
"m" => "k",
"n" => "l",
"o" => "m",
"ö" => "n",
"p" => "o",
"r" => "ö",
"s" => "p",
"ş" => "r",
"t" => "s",
"u" => "ş",
"ü" => "t",
"v" => "u",
"y" => "ü",
"z" => "v",
"a" => "y",
"b" => "z",
"c" => "a",
"ç" => "b",
);
$sonhal = strtr($icerik,$degis);
echo "<table class='customTable'><thead><tr><th>İsim</th><th>E-posta</th><th>Tarih</th><th>Mesaj</th></tr></thead><tbody>".$sonhal." </tbody></table>";
fclose($dosya);
?-->