• 15-04-2007, 01:51:34
    #1
    Merhabalar ;

    Başka bir arkadaşın paylaştığı kodlarda adres.php?git=2 bu şekilde nasıl yapılacağını öğrendim ancak onda orneğin 2.php yi Manuel olarak el ile oluşturuyorduk.ben admin paneli gibi bişiy yapsam oradaki yazı editöründen haber eklesem ve bunu portalımda kayan şekilde cıkarsam benim için önemli olan dosya oluşturmak.Bunu nasıl yapabilirim ?
  • 15-04-2007, 10:42:24
    #2
    Misafir
    dosya oluşturmak yerine sayfa içeriğini mysql kaydet

    örnk.
    id - sayfaadi - icerik

    anasayfada sayfaadi kısmını bir köşeye listeletirsin alt altta bunlara link olarakta sayfa.php?id=1 gibi link atarsın sayfa php yede id'den sorgulama yaptırıp o sayfanın kodlarını sayfaya yazdırabilirsin.

    kolay gelsin.
  • 15-04-2007, 13:40:57
    #3
    <?php
    $dosya_dizin = "/inetpub/wwwroot/";
                      touch ("$dosya_dizin/yeni_belge.txt");
    print ("yeni_belge adlı bir dosya oluşturuldu!");
    ?>
    </BODY>
    </HTML>
    Buşekilde dosya oluşturabilirsin
  • 15-04-2007, 14:30:53
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    admin.php dosyasını yetkilendirmek için session uygulamalarına gözatabilirsin.

    adres.php?git=2 adresinde içeriği manuel olarak değil veritabani yardımıyla yapmak için basit bir uygulama aşağıda kolay gelsin.

    öncelikle veritabanında haberler isimli bir tablo oluşturmalısın

    # # Tablo için tablo yapısı `haberler` #  CREATE TABLE haberler (   id bigint(20) NOT NULL auto_increment,   habericerik longtext NOT NULL,   PRIMARY KEY  (id) ) TYPE=MyISAM;
    yazdığın betiğin veritabanı ile bağlantı kurmasını sağlamak için bir veritabanı bağlantı dosyasına ihtiyacın var , bu dosya içeriği aşağıdaki gibi olabilir.

    veritabani.php dosyası.
    <?
    $sunucu ="localhost";
    $kullanici ="root";
    $parola ="";
    $db ="veritabani";
    $baglanti =@mysql_pconnect("$sunucu","$kullanici","$parola");
    //
    $veritabani =@mysql_select_db("$db",$baglanti);
    mysql_query("SET NAMES 'latin5'");
    mysql_query("SET CHARACTER SET latin5");
    if (! @mysql_select_db("$db",$baglanti))
    {
    print 'MySQL Bağlantısı olmadı.';
    exit;
    }
    ?>

    veritabanına yeni haberler ekleyeceğin haberekle.php dosyası bu dosyaya bir form aracılığı ile değişkenleri göndermelisin.

    haberekle.php dosyası.
    <?PHP
    include "veritabani.php"; 
    $degisken = $_POST['degisken'];
        if(!$degisken)
        {
            echo 'Hata Mesajı Yazdır.';
        }
        else
        {
            $sql=("insert into TABLO (alan) VALUES ('$degisken')");
            $sorgu=mysql_query($sql,$baglanti);
                if(!$sorgu)
                {
                    echo mysql_error();
                }    
                else
                {
                    echo 'İçerik Eklendi.';
                }
        }
    ?>
    Son olarak veritabanından bilgileri çekerek sayfaya yazdırman için gereken sorgu.

    habersec.php dosyası.
    <?PHP
    include "veritabani.php"; 
    $sql=("select * from TABLO oder by id DESC");
    $sorgu=mysql_query($sql,$baglanti);
        if(!$sorgu)
        {
            echo mysql_error();
        }
        else
        {
            while($bak=mysql_fetch_object($sorgu))
            {
                $habericerik =$bak->habericerik;
                echo $habericerik;  
            }
        }
    
    ?>
    Ekrana bastığın bilgileri kaydırmak için <marquee> </marquee> taglarını kullanabilirsin ancak her internet tarayıcısında aynı performansı göstermediğini göreceksin. Bu noktada JavaScript kullanarak her tarayıcıda aynı performansı gösteren bir kayan yazı betiği kullanabilirsin.
  • 15-04-2007, 15:26:15
    #5
    Merhaba Gerçekten çok teşekkür ederim baya yararlı oldu ancak sonuca gidemedim uğrastım yaptım hepsini ancak ..

    habersec.php yi enson çalıştırdığımda

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'by id DESC' at line 1

    bu hatayı alıyorum yardımcı olabilirmisiniz ?
  • 15-04-2007, 16:48:07
    #6
    Misafir
    $sql=("select * from TABLO order by id DESC");

    şöyle dene
  • 15-04-2007, 19:13:16
    #7
    veritabanı adı = veritabani
    haberleri tuttuğun tablo adı = haberler
    yukarıdaki ayarlar doğrultusunda aşağıdaki kod çalışacaktır.


    <?PHP
    include "veritabani.php";
    $sql=("select * from haberler order by id DESC");
    $sorgu=mysql_query($sql,$baglanti);
    $sayi=mysql_num_rows($sorgu);
        if(!$sorgu)
        {
            echo mysql_error();
        }
        else
        {
            if($sayi<="0")
            {
                echo "Haber eklenmemiş.";
            }
            else
            {
                while($bak=mysql_fetch_object($sorgu))
                {
                    $id=$bak->id;
                    $habericerik=$bak->habericerik;
                    echo $habericerik;
                }
            }
        }
    
    
    ?>

    order by id DESC = id ye göre en yeni kayıt en üstte olacak şekilde sıralar

    order by id ASC = id ye göre en eski kayıt en üstte olacak şekilde sıralar
  • 15-04-2007, 19:19:34
    #8
    Merhabaha hocam ;
    Verdiklerinizi girdim bu sefer habersec.php de bomboş bir sayfa çıkıyor.
    Sanırım ben bir yanlışlık yaptım ben şimdi yaptıklarımı anlatayım.
    haber isminde tabloyu oluşturdum gerekli db bilgilerini veritabani.php
    ye girdim ve orada herhangi bir sorun yok db ye bağlantı sağlayabiliyor.
    sonra haberekle.php dosyasına
    <?PHP
    include "veritabani.php"; 
    $degisken = $_POST['degisken'];
        if(!$degisken)
        {
            echo 'Hata Mesajı Yazdır.';
        }
        else
        {
            $sql=("insert into TABLO (alan) VALUES ('$degisken')");
            $sorgu=mysql_query($sql,$baglanti);
                if(!$sorgu)
                {
                    echo mysql_error();
                }    
                else
                {
                    echo 'İçerik Eklendi.';
                }
        }
    ?>
    girdim daha sonra ise ;

    habersec.php dosyasına
    <?PHP
    include "veritabani.php"; 
    $sql=("select * from TABLO oder by id DESC");
    $sorgu=mysql_query($sql,$baglanti);
        if(!$sorgu)
        {
            echo mysql_error();
        }
        else
        {
            while($bak=mysql_fetch_object($sorgu))
            {
                $habericerik =$bak->habericerik;
                echo $habericerik;  
            }
        }
    
    ?>
    girdim ve ilk once haberekle.php yi çalıştırdım. ve şu cıktı

    Hata Mesajı Yazdır.
    Daha sonra habersec.php yi çalıştırdığımda ise boş bir sayfa çıktı.Sanırım ben şurasını yapamadım ; bir form ile değişkenleri gönderme kısmını böyle bir form'u nasıl hazırlarım elimde şuan kullandığım formlarda var ama bunun için nasıl bir form kullanacağım ? Lütfen ilgilenirseniz sevinirim .. İyi çalışmalar
  • 15-04-2007, 19:25:07
    #9
    if(!$degisken)
    {
    echo
    'Hata Mesajı Yazdır.';
    }

    bu bölüm eğer gönderilen degişken içeriği boş ise ekrana hata mesajını yazdırmak için basit bir kontrol.


    bu sayfada işlem yapabilmek için öncelikle aşağıdaki örnekte olduğu gibi bir form ile haberekle.php dosyasına bir veri göndermen gerekiyor.

    form.php
    <form method="POST" action="haberekle.php">
      <p>
      <textarea rows="2" name="degisken" cols="20"></textarea><input type="submit" value="Gönder" name="B1"><input type="reset" value="Sıfırla" name="B2"></p>
    </form>

    haberekle.php dosyası form.php den gelen degisken (yazdığın haber) i veritabanına ekleyecektir.

    $sql=("insert into TABLO (alan) VALUES ('$degisken')");

    Tablo = haberleri tutacağın tablo (haberler)
    Alan = degişkeni ekleyeceğin alan (habericerik)