Sabah sabah aklıma geldi şimdi yazmak istedim. Şu sıralar php kodlama öğrenmeye çalışıyorum ve aklıma birşey takıldı. Ne yolla admin panel yapabilirim ? Yani yapacağım siteye elbette güncel haberler, yorumlar vs. eklemek isterim ama bunu her defasında indexi editlemek yerine tek bir index bütün dosyaları gösterebilecek şekilde olsa ve o dosyaları da admin panelden otomatik yaratabilsek ? Ne tür öneriler yapabilirsiniz ?
Admin panelinde ne istiyorsonuz ilk önce onları karar verin panele sadece yöneticiler erişeceği için session kontrolü yapıcaksınız gerisi ise mysql'den veri çektirme işlemleri update delete vs. o tür işlemler takıldığınız yerlerde bu konuya cevap yazın ona göre yardım edebilirim.
Yok güvenlik türü şeylere ihtiyacım yok sonuçta localde denemeler yapıyorum ama mysql yerine fwrite gibi işlemlerle direkt dosyayı yaratıp oraya bilgileri yazabilmesini istiyorum. Tabi yeni haber yorum vs. eklemekte hangi yöntem kolay ise o da olur.
Haberleri dosyaya yazdırıp okutmak hız açısından kötü sonuçlar verir bunun için mysql'in hızı size yeterde artar bile o yüzden mysql kullanmanızı öneririm.
Mysql slash, kesme işareti vs. kaydetmez diye biliyorum bi de çok büyük yazılar mysqla kaydedilir mi bilmiyorum hani mesela bir sürü yazı yazdım aralarında html tagları da var bunların hepsini eksiksiz kaydedip okursa tabiki de mysql kullanırım..
slash işlemleri dert değil addslashes fonksiyonu ile otomatik slashleri ekler ayrıca php'nin 6.0.0 bu özellik kaldırılacak artık slash derdi kalmıcak mysql'e verileri eklerken addslashes verileri çekerkende stripslashes fonksiyonlarını kullanabilirsiniz. mysql'e uzun sayılar yerleştirilebilir evet bu forum dada SMF vBulletin gibi forumlar mysql kullanıyor ve dünyanın yazıları oluyor mysql'de uzun yazı derdi yoktur html taglarına gelince html taglarınının "hepsini" silmek için htmlentities fonksiyonunu kullanabilirsiniz bu fonksiyon bütün html taglarını engeller javascript saldırılarından korunursunuz ama ben bazı taglar kalsın diyorsan da strip_tags fonksiyonunu kullanabilirsiniz bu fonksiyonun ikinci parametresinde belirlediğiniz taglar dışındaki bütün html taglarını görmez SQL injection saldırılarından korunmak içinde PHP'nin mysql_real_escape_string fonksiyonunu kullanabiliriz ama bu fonksiyonu işlevselliğini görmek için bir mysql bağlantısı yapmanız gerekir.
eger seni dogru anladiysam bole bişey ilgini cekebilir diye dusunuyorum ve ana sayfayada cok kolaylıkla tek tıkla haberleri ekleyebilirsin
en basit yontemle admin panelde bir form olusturup mesela ornek olarak yeni haber ekleme yazarsin , bu arada bende php uzmani degilim php de herhangi bir iddamda yok sadece biraz biseyler biliorum eger yardimi dokunursa sevinirim...



if(isset($_post['eklebakam'])) {        // Formuzdaki butona basildiysa , sunlari yapmaya basla ...
$habertitle=$_POST['baslik']; // bir degisken tanimlayip  sonrada $_post['formdaki value degeri'];
$habericerik=$_POST['icerik']; // form dan alip
...         // neleri almak istiorsan artik istegene kalmis
} // endif  , else degeri yaparsak php hata verebilir onun icin else degerini hic yaratmamak en iyisi
$ekle=mysql_query("insert into haberler(haberbaslik,habericerik,yazar,tarih)value('$habertitle','$habericerik','$yazar','$tarih')");  // sonrada onlari db ye ekletiorsun
// ekleme isleminin dogru tamamlandigi hakkında suphen varsa if le check ettirebilirsin dogru eklenmediyse ekrana hata raporu yazdira bilirsin vs ...
// tabiki db ye eklemek icin ilk once ayar.php gibi bir sayfa olusturup o sayfada db ye baglanma bilgilerini yine birer degisken olarak sisteme tanitmalisin


DB den okutmak istersen :

$sql="select * From haberler order by id desc";  [red]// db de table yaratirken  ilk row a genelikle id koyariz ve "AI"(auto increment) olarak ayarlariz db kendisi otomatik deger verir  ve sirayla gider ( orn: 1 , 2 , 3 , 4 ) bizde burda  Haberler table indaki id rowunu buyukten kucuge dogru siralatioz buda en yeni eklenen haberi en basa almasini saglar
[/red]
				$query=mysql_query($sql);    // query e baglanma 
				while($read=mysql_fetch_assoc($query)){  // query den okuma islemi
					$id        =$read['id'];   // istersek tek bir haberi  okutabilirz  ( orn: www.xxx.com/index.php?id=13 )
					$title     =$read['haberbaslik'];
                                        $icerik   =$read['habericerik'];     // [red]uzun haberleri id ile tek basina okutabilirz ve burada yayinlarken kelime siniri ekleye biliriz ( orn: $icerik = substr($read['habericerik'],0,450)."..."; // 450 karakter siniri koyuyorz vs... )[/red]
					echo "<li><a href='#'>$title</a></li>";
				}



---- basit bir ornek bir form---- ( butun bu kodlar tek bir sayfada olsun sayfaninda adi deneme.php olsun )



<form action="deneme.php" method="POST"> // 2 cesit veri gonderme var post ve get  , 
<table width="471" height="297" border="1" >
             <tr>
        <td colspan="3" bgcolor="#000000">
        <p align="center"><b><font color="#FFFFFF">Haber Ekleme Formu</font></b></td>
  <tr>
        <td width="20%">Haber Basligi </td>
        <td width="4%">-></td>
        <td width="76%"><input type="text" name="baslik" /></td>     [red]//name="baslik"  kismini yukarda baska bir degiskenle okutup alip db ye ekletioz , kendi zevkine gore deistirebilirsin bu degeri kendine uyani eklersin sana kalmis[/red]
  </tr>
  <tr>
    <td width="20%" >Haber icerigi</td>
        <td width="4%">-></td>
        <td width="76%"><input type="text" name="icerik" /></td>
  </tr>
  <tr>
    <td width="20%" >Yazar</td>
        <td width="4%" length="60%">-></td>
        <td width="76%" ><input type="text" name="yazar" /></td>
  </tr>
  <tr>
    <td width="20%">Tarih</td>
        <td width="4%">-></td>
        <td width="76%"><input type="text" name="tarih" /></td>
  </tr>
  <tr>
  <td></td>
  <td></td>
  <td width="65%"><input type="submit" name="eklebakam" value="Ekle">&nbsp;&nbsp;
  </td>
        </tr>
</table>
</form>

form gorunusu:




PS: forumun dis tasarimini sen tamamen deistirebilirsin ben cok ugrasmadim, sadece mantigi anlamani saglamak icin gosteriyorum.
Adept
4.3
Tam 8 aylik konuyu hortlatmissin. :)

Bu arada alanlara girilen girdileri süzersen iyi edersin.
fark etmedim yaw :D nese , cok kotu gosterio su code araliklari vs , duz yazacam sanirim renklendirip daha guzel durur=)

Üye Ol veya Giriş Yap

Bu forum başlığına mesaj atmak istiyorsanız hemen üye olun veya giriş yapın.