Skip to content

Instantly share code, notes, and snippets.

@cem766
Created February 12, 2015 21:05
Show Gist options
  • Save cem766/22e6646c9f0a6f484f20 to your computer and use it in GitHub Desktop.
Save cem766/22e6646c9f0a6f484f20 to your computer and use it in GitHub Desktop.
<?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(); ?>
<?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>
<!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>
<?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>
<?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