İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

php ile siteyi bir admin panelinden yonetmenin mantigi nedir?

D

Derebeyi

Misafir
evet arkadaslar ornegin bi sitem olucak ve bu siteye haber fln eklemek istedigime admin panelinden haber fln eklicem peki bu nasil olucak az cok php den cakiyorum ama bu konu hakkinda hicbir fikrim yok bi rmantik veya herhangi ornek bir kod verirseniz mantigini anlatirsaniz sevinirim...
Simdiden tesekkurler.
 
B

Baria

Misafir
bende php ye başlarken bunu çok düşünmüştüm.

şimdi bizde mysql var. burada haberleri saklıyorum.

bu haberleri admin sayfasından mysql yazıyoruz
haberleri almak istedigimizde ise mysql dan çekiyoruz.

örnek:


config.php mysql bağlantısını kurmak için:
PHP:
<?

###############Veri Tabanı Ayarları########################
$dbuser = "";
$dbsifre      = "";
$dbhost         = "localhost";
$database     = "test";
###########################################




// buradan sonrasını ellemiyorsun //
$baglan = mysql_connect("$dbhost", "$dbuser", "$dbsifre");

if (!$baglan && mysql_error()) { 
echo("<h2>MySQL ile bağlantı kurulamıyor.</h1>
<b>Hata:</b> ".mysql_errno()."<br>
<b>Açıklama:</b> ".mysql_error()."<br>");
exit();
}

$dbsec = mysql_select_db($database);

if (!$dbsec && mysql_error()) {
echo("<h2>Veritabanı seçilemedi</h1>
<b>Hata:</b> ".mysql_errno()."<br>
<b>Açıklama:</b> ".mysql_error()."<br>");
exit();
}
?>

Buda Gerekli olan Databaste miz:
PHP:
CREATE TABLE `haber` (
  `id` int(11) NOT lisanssız auto_increment,
  `haber` text NOT lisanssız,
  `baslik` text NOT lisanssız,
  `tarih` datetime NOT lisanssız default '0000-00-00 00:00:00',
  PRIMARY KEY  (`id`)
)
not: Bunu phpmyadmin imizde bulunan test tablosunda bulunan SQL SORGUSU kısmına yazıyoruz. 4 alan ekledik

id = bu haberimizin numarası olacak auto_increment olarak atadıgımız için otomatik olarak her haber ekledigimizde +1 yükselecek.

haber = Bu alan haberimizin yazılacagı kısımdır. TEXT olarak belirtik

baslik: Haberimizin başlıgı.

tarih: Haberimizi yazdıgımız anda olan tarih.

admin.php haber yazmamız için gerekli olan sayfa:
( form oluşturup action="haber_eklendi.php" gönderiyoruz post larımızı )
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<table width="284" height="186" border="0" cellspacing="0">
  <tr>
    <td><form name="form1" method="post" action="haber_eklendi.php">
      Haber Başlıgı:
      <input name="baslik" type="text" id="baslik">
      <br>
      <br>
      <br>
      <br>
      Haber İçerik:
      <textarea name="haber" id="haber"></textarea>
      <br>
      <br>
      <input type="submit" name="Submit" value="yaz gitsin">    
                                    </form></td>
  </tr>
</table>
</body>
</html>

haber_eklendi.php sayfası
PHP:
<?

##########  mysql baglantımız yapıyoruz  ############
include "data.php";

######## koşul giriyoruz ( eğer haber post u boş ise " haber yazınız" uyarısı çıkacak. empty ingilizceside boş anlamında zaten  ##############
if (!empty($_POST[haber])) {
############## sorgu olumlu çıktı ve mysql yazıyoruz  ##########
$ekle = mysql_query("INSERT INTO haber ( `baslik`, `haber`, `tarih` ) VALUES ( '$_POST[baslik]', '$_POST[haber]', NOW() ) ");
echo " haber eklendi "; 
} else { echo " haber yazınız"; }

?>


şimdi haberleri admin.php sayfamızdan POST metodu ile haber_ekledim.php ye gondererek mysql kayıt ettik.şu anda http://localhost/phpmyadmin sayfasına giderek ordan eklenmiş oldugunu görebiliriz.


şimdi bunu web sitemizin ana sayfasına nasıl yansıtacagımıza geldi.mantıken şu şekilde mysql yazılan bilgiyi geri çekecez.

index.php
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<?
include "data.php";

$sorgu = @mysql_query("SELECT * FROM haber");
 while($yazdir=mysql_fetch_array($sorgu)){
echo "Haber Başlığımız: $yazdir[baslik]<br> Haberimiz:$yazdir[haber] <br>tarih:$yazdir[tarih]<br><br> "; }
?>
<body>

</body>
</html>
Burda sql bağlantımızı include "data.php"; sayesinde gerçekleştirdik daha sonra haber tablosunu seçtik bunu while ile listeledik. $yazdir[baslik] burda "baslik" kısmı mysql umuzda bulunan alanın adı

şimdi bitti :) tabi bunları yapmadan once php nin belli başlı sorgularını bilmen gerekir bu sadece basit bu işi dahada kolaylaştırmak için class lar kullanmanı öneririm bu sitede php yi iyi bilen ustalar var onlara danışabilirsin bir sorunun oldugunda
 

Caesar

0
İyinet Üyesi
Katılım
5 Haziran 2006
Mesajlar
1,894
Reaction score
7
daha iyisine gerek yok örnek olması açısından ve anlatılabilirlik açısından gayet yardımcı olmuşsun @Baria +rep'i haketmişsin ama ben veremiyorum:)
 
D

Derebeyi

Misafir
Allah senden razı olsun baria kardeş valla çok aydınlattın beni çalışmalara başlıyorum ben :D
Edit: +rep verdim :D
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
Admin Paneli = phpmyadminin sekillisi ve anlatimlisi oluyor:)
 
D

Derebeyi

Misafir
Arkadaslar dosyayi ftp ile hosta attim admin panelinden deneme amaçli haber ekledim mysql ile bağlanti kurulamiyor diyor problem nedir anlayamadim :(

iŞTE Hata ;
Hata: 2002
Açýklama: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)


Bi yardimci olursaniz sevinirim bn hatayı çözemedim :(
 

THR

0
İyinet Üyesi
Katılım
31 Ekim 2005
Mesajlar
0
Reaction score
3
mysql ile yeni satır ekle, sil, update et falan yapacaksın bu kadar
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst