PHP Haber Scripti
Merhabalar…
Bu yazımızda çok basit bir haber scripti nasıl yapılır? php ile veri ekleme, veri gösterme nasıl yapılır? bunu anlatmaya başlayalım…
Eğer daha gelişmiş bir haber scripti isterseniz:
http://www.dahiweb.com/php-haber-scripti-2
php haber scriptimizde başlık, resim, haber eklenecek ve ekrana basılacak…
ilk önce veri tabanımızda “haber_veri” adında bir veritabanı açıyoruz.
daha sonra “haber” adında bir tablo oluşturacağız… tablomuz “no, baslik, resim, haber” alanlarından oluşacak….
CREATE TABLE `haber` ( `no` int(11) NOT NULL auto_increment, `baslik` varchar(250) NOT NULL, `resim` varchar(250) NOT NULL, `haber` text NOT NULL, PRIMARY KEY (`no`) ) ENGINE=MyISAM DEFAULT CHARSET=latin5 ;
bilgileri kaydedebilmek için mysql e bağlanmamız gerekiyor bunun için aşağıdaki dosyayı “baglan.php” olarak kaydedeceğiz
<?
@mysql_connect("localhost","root","") or die ("mysqle bağlanamadım");
@mysql_select_db("haber_veri") or die ("veritabanı bulunamadı");
?>
haberlerin kaydedileceği form ve sayfa ise aşağıdaki kodlarla oluşturacağız
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
<title>Untitled Document</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<table width="600" border="1" cellpadding="0" cellspacing="10" bordercolor="#999966">
<tr>
<th colspan="2">HAber girişi </th>
</tr>
<tr>
<td width="95">başlık</td>
<td width="469"><label>
<input name="baslik" type="text" id="baslik" size="70" />
</label></td>
</tr>
<tr>
<td>resim</td>
<td><input name="resim" type="text" id="resim" size="70" /></td>
</tr>
<tr>
<td>haber</td>
<td><textarea name="haber" cols="70" rows="5" id="haber"></textarea></td>
</tr>
<tr>
<td colspan="2"><label>
<div align="right">
<input name="kayit" type="submit" id="kayit" value="kayıt" />
</div>
</label></td>
</tr>
</table>
</form>
<? if ($_POST[kayit])
{
$baslik=$_POST["baslik"];// global register durumundan dolayı yeni ekledim...
$resim=$_POST["resim"];
$haber=$_POST["haber"];
include("baglan.php");
if (mysql_query("insert into haber values ('','$baslik','$resim','$haber') "))
echo "bilgilker kaydedildi";
else
echo "Bİ KAYDI BİLE BECEREMEDİN... ! ";
}
?>
</body>
</html>
böylece kayıtlarıda gerçekleştirdik….
şimdide sonuçları ekranda göstermek için “index.php” dosyasını oluşturuyoruz
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
<title>haberler</title>
</head>
<body>
<?
include ("baglan.php");
$sorgu=mysql_query(" select * from haber order by no desc ");
echo "
<table border='1' >
<tr>
<th>
Haberler
</th>
</tr>";
while ($satir=mysql_fetch_row($sorgu))
{
echo "
<tr><td><strong>$satir[1]</strong>
<br />
<img src=$satir[2] align='right' >
$satir[3]
</td>
</tr>
";
}
echo "</table>";
$toplam=mysql_num_rows($sorgu);
echo "toplam = $toplam haber var";
?>
</body>
</html>
böylece tüm kayıtları ekranda göstermiş olduk… vatana millete hayırlı olsun…
Benzer Konularımıza da Göz Atın!
- KÖŞE YAZISI
- Php Türkçe Karakter Temizleme
- WordPress Bakım Mod Eklentisi
- WordPress Rastgele Yazı
- WordPress Şekilli Kutular Eklentisi
- Resim Boyutlandırma Eklentisi
- Wp-Cumulus (Etiket Eklentileri)
- WordPress Funny Video Online Eklentisi
- Php Fusion Admin Parolası Sıfırlama Modülü
- WordPress resim galerisi


Bunda birde sayfalama olsa çok güzel olacaktı gibime geliyor.
Teşekkürler.Saylama olsa gerçekten çok daha iyi olurdu
sayfalama dediğiniz sayfa1 – sayfa2 şeklinde bir yapımı? eğer istediğiniz bu ise yakında çok daha detaylı bir haber scripti yazacağım… hatta baştan sona bir portal yazılımı yapmayı düşünüyorum… nasipse…
bu yazı: öğrencilerime sınavda sorduğum php sorusunun cevabı olarak buraya eklendi…
Hocam bunu yazılıdan önce yazsaydınız daha güzel olurdu.
@Kahraman Karafil
Yazmadı da düşük mü aldın, sesini çıkarma
@Muhammet İpek
Olsun da uğraşmazdık ..
Siz öğretmen olun gelin.. bu sınavları siz yaparsınız.. tabii o zamana php değişmeden kalırsa…
Db ye yazmadı arkadaşlar. Sizden rica’m ya düzenleyin yada konuyu silin. Teşekkürler.
merhaba…
arkadaşlar bu kodlar çalışır halde iken atıldı..
eğer veritabanına kayıt çalışmıyorsa senin baglan.php dosyasındaki bilgilerini kontrol etmen gerekiyor…
örneğin: bizim bilgisayarlarda kullanıcı adı “root” şifre ise boş yani “” olarak ayarlı… eğer sen mysql e farklı bir şifre vermişsen bunu baglan.php de düzenlemen gerekir…
veya biz veritabanı adını “haber_veri” olarak düzenlemişiz… eğer sen farklı bir veritabanı adı ile açtıysa mutlaka baglan.php de bunu düzenlemen gerekir…
son seçenek (aslında %90 da sorun budur ) global register ayarından dır…
ben az sonra kodları her yerde çalışacak hale getiriyorum…
hatırlatmak isterimki bu script üzerinde çok emeklerle yazılmadı… lisedeki öğrencilerime php sınavında soru olarak sordum.. ve çalışmaları için cevabını buraya attım..
ama yakında gelişmiş ve işinize yarayacak bir haber scripti yazacağım…
iyi günler
Bu sorunun ilk kurbanlarıda biz olduk galiba.
hocam evet dediğiniz gibi baglan.php’yi düzenledim.Ama haber ekleme dosyasında form.php’de sql’e tabloya kayıt etmiyor sanırım.Kayıt başarılı diyor ama kayıt sağlanamıyor.Haber var görünüyor ama yazı ve resim görüntülenmiyor.Yardımcı olursanız sevinirim
#Şefik bey uygulamayı bende tekrar baştan geçirdim ve çalışır bi durumda sizin dediğiniz hatayi göremedim.
Script 3 sayfadan oluşacak.
baglan.php
index.php
form.php olarak.
haberlerimiz form.php sayfasından eklenip index.php sayfasından görüntülenecektir.Belki siz bu bilgileri form.php sayfasında görmeye çalışıyor olabilirsiniz.Haber sayfasında sadece haber ekleme ve haberin eklenip eklenememe bilgisi yer almakta haberi ekledikten sonra index.php sayfasına gitmeniz gerekiyor.Sorun devam ediyorsa.
Veritabanı ismi ve tablo isminin ikisininde “haber” olması gerekiyor.İndex.php sayfasında bilgiler gözükmüyorsa eğer index.php sayfasındaki baglantı yerlerini dikkatlice bakmanızı tavsiye ederim ordaki “haber” adlı yerleri değiştirdiniz taktirde gözükmeyecek hatta hata verecektir.
Diğer türlü bir hata vereceğini sanmıyor eğer kodlarla oynama yapmadıysanız.
Not: bir sayfadaki bir kodla bile oynama yaparsanız diğer sayfadaki yerlerdede ona göre düzenleme yapmanız gerekecektir.
merhaba
Hocam yararlı bilgiler için teşekkürler… Şöyle güzel bir haber scripti yapsanız.. Geliştirmeye açık.Ama temel parametreler hazırlanmış.. Onu güzel bir anlatsanız… Çok seviniriz…
okullar açıldığına göre bizde tekrar sitemizle uğraşabiliriz demektir… yakında yeni haber scriptimi yayınlayacağım..
ilgilerinize teşekkürler
işin özünü anlatmışsınız teşekkürler.
Süper ve yararlı bir yazı olmuş yeni yazıları bekleriz
ya madem bu kadar faydalı oldu… bu kadar talep var… üşenmeyeyim… biraz daha gelişmişini bu akşam yayınlamaya çalışacağım…
Allah nasip kısmet ederse…
yenisini yayınladım… bir okuyun, test edin… hataları olabilir.. ben localde yayınladım.. linux sunucuda test etmedim…
http://www.dahiweb.com/php-haber-scripti-2
Vatana millete hayırlı olsun…
merhaba güzel bir anlatım fakat ben anasayfada belirli karekter haber paylaşıyorum… İstediğim haberin devamına tıklandığında seçilen haberin devamı bölüme gitmesi…
Yardımcı olursanız sevinirim…
$sor=mysql_query(“SELECT * FROM makaleler ORDER BY id DESC LIMIT 0,3″);
while($yaz=mysql_fetch_array($sor)){
$haberbaslik = $yaz['baslik'];
$habermakale = $yaz['makale'];
$haberkat = $yaz['kategori'];
$id = $yaz['id'];
echo “$haberbaslik“.”".”$habermakale $haberkat”;
Teşekkur işime yaradı paylasımların devamını dilerim
@çaça
merhaba çaça, sorunu hallettin mi eğer yaptı isen burayada yazarmısın.
@Resul
bu scripti öğrencilerime yazılıda sormuştum…
biraz daha işe yarar bir kodlama isterseniz
http://www.dahiweb.com/php-haber-scripti-2
bu scriptte haber devamı olayı mevcuttur…
merhabalar hocam öncelikle yazılanları dikkatlice okudum ve dediklerinizi birebir uygulamaya çalıştım fakat sorun Şuki localhostta sql tablosu oluşturulmuor localhostta phpmyadminden haber diye veritabanı oluşturdum daha sonra aşagıdaki kodu çalıştırmaya çalıştım haber veritabanında hata verdi eklemedi …
CREATE TABLE `haber` (
`no` int(11) NOT NULL auto_increment,
`baslik` varchar(250) NOT NULL,
`resim` varchar(250) NOT NULL,
`haber` text NOT NULL,
PRIMARY KEY (`no`)
) ENGINE=MyISAM DEFAULT CHARSET=latin5 ;
hata kodu
SQL-sorgusu :
CREATE TABLE `deneme` (
`no` int(11) NOT NULL auto_increment,
`baslik` varchar(250) NOT NULL,
`resim` varchar(250) NOT NULL,
`haber` text NOT NULL,
PRIMARY KEY (`no`)
) ENGINE=MyISAM DEFAULT CHARSET=latin5
MySQL çıktısı:
You have an error in your SQL syntax near ‘ENGINE=MyISAM DEFAULT CHARSET=latin5′ at line 7
yardımınızı bekliyorum hocam ….
@yazılım
tablonun sonunda yazan latin5 i kaldır
CREATE TABLE `haber` (
`no` int(11) NOT NULL auto_increment,
`baslik` varchar(250) NOT NULL,
`resim` varchar(250) NOT NULL,
`haber` text NOT NULL,
PRIMARY KEY (`no`)
)
gibi.. kolay gelsin
merabalar. Ben Haber sicripti yazmak iseyirem ama yazdigim scriptin icinde tarih olmasi gerekli. yani ki haberin elave edildiyi tarih gosterilmelidir .yardimci olurmusunuz?
@Aslan
merhaba aslan kardes…
http://www.dahiweb.com/php-komutlari
bu adreste gerekli kodları bulabilirsin..
en basit tarih tutma olayını veritabanında varchar tipinde 20 karakterlik bir alan açın ve
veritabanına haber kaydet dediğiniz satırlarda $tarih=date(“j-m-Y”) diyerek tarih değişkenine aktarın… ve sonrada haberi kaydettiğiniz yere bu bilgiyide ekleyin… hepsi bu kadar…
olmazsa yazın tekrar yardımcı olmaya çalışırım…
Allaha emanet