Created
February 12, 2015 21:05
-
-
Save cem766/22e6646c9f0a6f484f20 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
ob_start(); | |
session_start(); | |
$db = @new mysqli('localhost', 'root', '1234', 'uygulama'); | |
if ($db->connect_errno) die('Bağlantı Hatası:' . $db->connect_error); | |
/* Tablo veri karakter yapısı */ | |
$db->set_charset("utf8"); | |
//üye giriş yapmış mı? ve üye admin değilse, yönlendirelim | |
//üye tablosunda admin değeri 1, normal üye değeri 2 ile tanımlanmıştı | |
if(isset($_SESSION['uye'])){ | |
if($_SESSION['uye'] == 2){ | |
header('Location: index.php'); | |
} | |
}else{ | |
header('Location: login.php'); | |
exit(); | |
} | |
?> | |
<!DOCTYPE html> | |
<html lang="tr"> | |
<head> | |
<title> Blog uygulamam </title> | |
<meta charset="utf-8" /> | |
<style> | |
body{font-family: "Times New Roman", arial; font-size:12pt;} | |
div{border:1px solid silver; margin:4px; padding:4px} | |
.yorum div{border:0; border-top:1px solid silver} | |
</style> | |
</head> | |
<body> | |
<a href="index.php">Ana Sayfa</a><br /> | |
<?php | |
//Kayıt istek biçimlerine göre SQL sorgusu belirleyelim | |
if(isset($_POST['ekle'])){ | |
$sql ="INSERT INTO blog(baslik,yazi) VALUES(?,?)"; | |
}else if(isset($_POST['guncelle'])){ | |
$sql ="UPDATE blog SET baslik=?,yazi=? WHERE blog_id=?"; | |
}else if(isset($_GET['sil'])){ | |
$sql ="DELETE FROM blog WHERE blog_id=?"; | |
}else if(isset($_GET['yorum_sil'])){ | |
$sql ="DELETE FROM yorum WHERE yorum_id=?"; | |
$_GET['sil']= $_GET['yorum_sil']; | |
} | |
if(isset($_POST['ekle']) || isset($_POST['guncelle']) ){ | |
//SQL sorgusunu hazırlayalım | |
$stmt = $db->prepare($sql); | |
if ($stmt === false) die('Sorgu hatası:'. $db->error); | |
/*SQL deki ?,? için veri tiplerini ve değişkenleri tanımlayalım */ | |
if($_POST['ekle']) | |
$stmt->bind_param("ss", $_POST['baslik'],$_POST['yazi']); | |
if($_POST['guncelle']) | |
$stmt->bind_param("ssi", $_POST['baslik'],$_POST['yazi'],$_POST['blog_id']); | |
//Sorguyu çalıştıralım | |
$stmt->execute(); | |
if($db->affected_rows < 1){ | |
die('Kayıt eklenmedi'); | |
} | |
$stmt->close(); | |
}else if(isset($_GET['sil']) || isset($_GET['yorum_sil'])){ | |
//Silme işlemi için SQL sorgusunu hazırlayalım | |
$stmt = $db->prepare($sql); | |
if ($stmt === false) die('Sorgu hatası:'. $db->error); | |
/*SQL deki ? için veri tipini ve değişkeni tanımlayalım */ | |
$stmt->bind_param("i", $_GET['sil']); | |
//SQL Sorgusunu çalıştıralım | |
$stmt->execute(); | |
if($db->affected_rows < 1){ | |
die('Kayıt silinmedi'); | |
} | |
if(isset($_GET['yorum_sil'])) | |
header('Location: detay.php?id='.$_GET['id']); | |
$stmt->close(); | |
} | |
if(isset($_GET['guncelle'])){ | |
//Güncelleme isteğini elde etmek için SQL sorgusunu hazırlayalım | |
$stmt = $db->prepare("SELECT * FROM blog WHERE blog_id=?"); | |
/*SQL deki ? için veri tipini ve değişkeni tanımlayalım */ | |
$stmt->bind_param("i", $_GET['guncelle']); | |
//SQL Sorgusunu çalıştıralım | |
$stmt->execute(); | |
//Sonuçları alalım | |
$sonuc = $stmt->get_result(); | |
//Sonuçları sütun adlarına göre elde edelim | |
$row = $sonuc->fetch_array(); | |
//Güncelleme için bilgileri forma yazalım | |
echo '<h3>Kayıt güncelle</h3> | |
<form method="post" action="admin.php"> | |
<input type="hidden" name="blog_id" value="'.$row['blog_id'].'"/> | |
Başlık: <input type="text" name="baslik" value="'.$row['baslik'].'" /> | |
<br />Açıklama:<br/> | |
<textarea rows="5" cols="30" name="yazi">'.$row['yazi'].'</textarea> | |
<br /><input type="submit" name="guncelle" value="Kaydet" /> | |
</form>'; | |
$stmt->close(); | |
}else{ | |
echo '<h3>Kayıt Ekle</h3> | |
<form method="post" action="admin.php"> | |
Başlık: <input type="text" name="baslik" /> | |
<br />Açıklama:<br/> | |
<textarea rows="5" cols="30" name="yazi"></textarea> | |
<br /><input type="submit" name="ekle" value="Kaydet" /> | |
</form>'; | |
} | |
//Blog başlıklarını listelemek için SQL sorgusunu hazırlayalım | |
$blog = $db->prepare("SELECT * FROM blog"); | |
//SQL sorgusunu çalıştıralım | |
$blog->execute(); | |
//blog tablosunun sonuçlarını elde edelim | |
$blog_sonuc = $blog->get_result(); | |
//blog tablosunun sonuçlarını sütun adlarına göre elde edelim | |
//Başlıkları okutup ,güncelleme ve silme için linkleri oluşturalım | |
echo '<hr /><table border=1>'; | |
while ($row = $blog_sonuc->fetch_array()) { | |
echo "<tr> | |
<td>{$row['baslik']}</td><td> | |
<a href='?guncelle={$row['blog_id']}'>Güncelle</a> | |
<a href='?sil={$row['blog_id']}' onclick=\"return confirm('Silinsin mi?')\">Sil</a> | |
</td> | |
</tr>\n"; | |
} | |
echo '</table>'; | |
$blog->close(); | |
$db->close(); | |
?> | |
</body> | |
</html> | |
<?php ob_end_flush(); ?> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php session_start(); ?> | |
<!DOCTYPE html> | |
<html lang="tr"> | |
<head> | |
<title> Blog uygulama Detay </title> | |
<meta charset="utf-8" /> | |
<style> | |
body{font-family: "Times New Roman", arial; font-size:13pt;} | |
div{ margin:4px; padding:4px} | |
.makale{border:1px solid silver;} | |
h3,h4{text-decoration:underline;margin:4px;font-size:16pt;} | |
h4{font-size:13pt;} | |
.yorum{border:0; border-top:1px dashed silver} | |
</style> | |
</head> | |
<body> | |
<a href="index.php">Ana Sayfa</a><br /> | |
<?php | |
$db = @new mysqli('localhost', 'root', '1234', 'uygulama'); | |
if ($db->connect_errno) die('Bağlantı Hatası:' . $db->connect_error); | |
/* Tablo veri karakter yapısı */ | |
$db->set_charset("utf8"); | |
//Blog tablosundaki kayıtlar için SQL sorgusunu hazırlayalım | |
$blog = $db->prepare("SELECT * FROM blog WHERE blog_id = ?"); | |
//Yorum tablosundaki kayıtlar için SQL sorgusunu hazırlayalım | |
$yorum = $db->prepare("SELECT * FROM yorum WHERE blog_id = ?"); | |
//detay.php?id=1 gibi detay görme isteği varmı kontrol edelim | |
$istek = isset($_GET['id']) ? $_GET['id'] : die('Hatalı istek'); | |
/* istek varsa sorgudaki ? için veri tipini ve değişkeni tanımlayalım */ | |
$blog->bind_param("i", $istek); | |
//blog tablosu sorgusunu çalıştıralım | |
$blog->execute(); | |
//blog tablosunun sonuçlarını elde edelim | |
$blog_sonuc = $blog->get_result(); | |
//blog tablosunun sonuçlarını sütun adlarına göre elde edelim | |
while ($row = $blog_sonuc->fetch_array()) { | |
//içeriği ekrana yazdıralım | |
echo "<div class='makale'> | |
<h3>{$row['baslik']}</h3> | |
<i>{$row['tarih']} tarihinde eklendi</i> | |
<p> {$row['yazi']} </p>"; | |
//blog tablosunun blog_id bilgisini yorum sorgusuna iletelim | |
$yorum->bind_param('i', $row['blog_id']); | |
//Yorum tablosu sorgusunu çalıştıralım | |
$yorum->execute(); | |
//Yorum tablosunun sonuçlarını elde edelim | |
$yorum_sonuc = $yorum->get_result(); | |
//Yorum varsa sayısını yazalım | |
if ($yorum_sonuc->num_rows) { | |
echo '<hr /><p>'.$yorum_sonuc->num_rows . ' yorum var</p>'; | |
} | |
//Yorum tablosu sonuçlarını sütun adlarına göre elde edelim | |
while ($row2 = $yorum_sonuc->fetch_array()) { | |
$uye=isset($_SESSION['uye']) ? $_SESSION['uye'] : null; | |
if($uye == 1){ | |
$yorum_id =$row2['yorum_id']; | |
$blog_id=$row['blog_id']; | |
$sil ="<a href='admin.php?yorum_sil=$yorum_id&id=$blog_id'>Sil</a>"; | |
} | |
echo "<div class='yorum'>$sil<b> {$row2['yazan']} </b> | |
<i> {$row2['tarih']} </i> | |
<div> {$row2['mesaj']}</div> </div>"; | |
} | |
//Yorum ekleme formunu ekrana yazalım | |
echo '<p>Yorum Yap<form method="post" action="yorum.php"> | |
<input type="hidden" name="blog_id" value="' . $row['blog_id'] . '"/> | |
Ad Soyad: <input type="text" name="yazan" maxlength="10" /><br /> | |
Yorumunuz: <br /> | |
<textarea rows="2" cols="30" name="mesaj"></textarea><br /> | |
<input type="submit" name="yorum" value="Kaydet"/> | |
</form></p>'; | |
echo "</div>\n"; | |
} | |
//Sorguları ve veritabanı bağlantılarını sonlandıralım | |
$blog->close(); | |
$yorum->close(); | |
$db->close(); | |
?> | |
</body> | |
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html lang="tr"> | |
<head> | |
<title> Blog uygulamam </title> | |
<meta charset="utf-8" /> | |
<style> | |
body{font-family: "Times New Roman", arial; font-size:13pt;} | |
div{ margin:4px; padding:4px} | |
.makale{border:1px solid silver;} | |
h3,h4{text-decoration:underline;margin:4px;font-size:16pt;} | |
h4{font-size:13pt;} | |
.yorum{border:0; border-top:1px dashed silver} | |
</style> | |
</head> | |
<body> | |
<a href="login.php">Giriş Yap</a> | |
<hr /> | |
<?php | |
$db = @new mysqli('localhost', 'root', '1234', 'uygulama'); | |
if ($db->connect_errno) die('Bağlantı Hatası:' . $db->connect_error); | |
/* Tablo veri karakter yapısı */ | |
$db->set_charset("utf8"); | |
//Sayfalama yapmak için Blog tablosundaki toplam kayıt sayısını alalım | |
$toplam = $db->query("SELECT count(*) FROM blog"); | |
//Elde edilen bilgiyi $sayfa_sayisi değişkenine atayalım | |
$sayfa_sayisi = $toplam->fetch_row(); | |
//Sorgu ile işimiz bittiğine göre kapatalım | |
$toplam->close(); | |
// Sayfalama için limit ve ve ofset durumuna göre kayıt elde edelim | |
$blog = $db->prepare("SELECT * FROM blog Order By blog_id DESC LIMIT ? OFFSET ?"); | |
//Yorum tablosundaki kayıtlar için SQL sorgusunu hazırlayalım | |
$yorum = $db->prepare("SELECT * FROM yorum WHERE blog_id = ?"); | |
$limit = 2; //gösterilecek kayıt sayısı | |
//sayfalama için index.php?id=1 gibi istek gelmezse 0 kabul et | |
$ofset = isset($_GET['id']) ? $_GET['id'] : 0; | |
/* ? ve ? için veri tipini ve değişkeni tanımlayalım */ | |
$blog->bind_param("ii", $limit, $ofset); | |
//blog tablosu sorgusunu çalıştıralım | |
$blog->execute(); | |
//blog tablosunun sonuçlarını elde edelim | |
$blog_sonuc = $blog->get_result(); | |
//blog tablosunun sonuçlarını sütun adlarına göre elde edelim | |
while ($row = $blog_sonuc->fetch_array()) { | |
//içeriğin uzunluğu 50 den büyük ise detay için link oluşturalım | |
if(strlen(strip_tags($row['yazi'])) >50) | |
$row['yazi'] =substr(strip_tags($row['yazi']), 0, 50); | |
//içeriği ekrana yazdıralım | |
echo "<div class='makale'> | |
<h3>{$row['baslik']}</h3> | |
<i>{$row['tarih']} tarihinde eklendi</i> | |
<p> {$row['yazi']} | |
. . .<a href='detay.php?id={$row['blog_id']}'>Devamı</a> | |
</p>"; | |
//blog tablosunun blog_id bilgisini yorum sorgusuna iletelim | |
$yorum->bind_param('i', $row['blog_id']); | |
//Yorum tablosu sorgusunu çalıştıralım | |
$yorum->execute(); | |
//Yorum tablosunun sonuçlarını elde edelim | |
$yorum_sonuc = $yorum->get_result(); | |
//Yorum varsa sayısını yazalım | |
echo '<p>'.$yorum_sonuc->num_rows . ' yorum var</p>'; | |
echo "</div>\n"; | |
} | |
//Sayfalama için linkleri oluşturalım | |
if ($sayfa_sayisi[0] > $limit) { | |
$x = 0; | |
for ($i = 0; $i < $sayfa_sayisi[0]; $i += $limit) { | |
$x++; | |
echo "<a href='?id=$i'>[ $x ]</a>"; | |
} | |
} | |
$blog->close(); | |
$yorum->close(); | |
$db->close(); | |
?> | |
</body> | |
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
session_start(); | |
$hata=''; | |
if(isset($_POST['eposta']) && isset($_POST['sifre'])){ | |
$db = @new mysqli('localhost', 'root', '1234', 'uygulama'); | |
if ($db->connect_errno) die('Bağlantı Hatası:' . $db->connect_error); | |
/* Tablo veri karakter yapısı */ | |
$db->set_charset("utf8"); | |
$stmt = $db->prepare("SELECT * FROM uye WHERE email=? AND sifre=MD5(?)"); | |
if ($stmt === false) die('Sorgu hatası:'. $db->error); | |
/*SQL deki ? için veri tipini ve değişkeni tanımlayalım */ | |
$stmt->bind_param("ss", $_POST['eposta'],$_POST['sifre']); | |
//SQL Sorgusunu çalıştıralım | |
$stmt->execute(); | |
//Sonucu elde edelim | |
$sonuc = $stmt->get_result(); | |
//email ve şifre doğru ise SESSION ataması yapalım ve | |
//admin.php yönlendirelim | |
if($sonuc->num_rows){ | |
$row = $sonuc->fetch_array(); | |
$_SESSION['uye'] = $row['durum']; | |
$_SESSION['ad'] = $row['ad']; | |
header('Location: admin.php'); | |
}else{ | |
$hata='<h3>Eposta veya şifre hatalı</h3>'; | |
} | |
} | |
?> | |
<!DOCTYPE html> | |
<html lang="tr"> | |
<head> | |
<title> Giriş </title> | |
<meta charset="utf-8" /> | |
</head> | |
<body> | |
<h2>Giriş Yap</h2> | |
<?php echo $hata; ?> | |
<form method="post" action=""> | |
<input type="text" name="eposta" />E-posta<br /> | |
<input type="text" name="sifre" />Şifre<br /> | |
<input type="submit" value="Giriş" /> | |
</form> | |
</body> | |
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
$db = @new mysqli('localhost', 'root', '1234', 'uygulama'); | |
if ($db->connect_errno) die('Bağlantı Hatası:' . $db->connect_error); | |
/* Tablo veri karakter yapısı */ | |
$db->set_charset("utf8"); | |
if(isset($_POST['mesaj']) && !empty($_POST['mesaj']) && !empty($_POST['yazan'])){ | |
//Yorum tablosuna ekleme yapmak için SQL sorgusunu hazırlayalım | |
$yorum = $db->prepare("INSERT INTO yorum(mesaj,yazan,blog_id) VALUES(?,?,?)"); | |
if ($yorum === false) die('Sorgu hatası:'. $db->error); | |
$mesaj = htmlspecialchars($_POST['mesaj'], ENT_QUOTES); | |
$yazan = htmlspecialchars($_POST['yazan'], ENT_QUOTES); | |
/*SQL ?,? için veri tiplerini ve değişkenleri tanımlayalım */ | |
$yorum->bind_param("ssi", $mesaj, $yazan, $_POST['blog_id']); | |
//Yorum tablosu ekleme sorgusunu çalıştıralım | |
$yorum->execute(); | |
//Acaba yorum eklendimi ? control edelim | |
//Eklenmiş ise tekrar yorum yaptığı sayafa yönlendirelim | |
if($db->affected_rows > 0){ | |
header('Location: detay.php?id='.$_POST['blog_id']); | |
}else{ | |
die('Yorum eklenmedi'); | |
} | |
$yorum->close(); | |
}else{ | |
echo 'Formu boş gönderdiniz'; | |
} | |
$db->close(); | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment