• 19-09-2013, 16:43:25
    #1
    Üyeliği durduruldu
    Merhaba Arkadaşlar , php de bir tane projemiz var kendimizi geliştirmek adına ya da php çalışıyoruz. Bir yerde veritabanı bağlantı yapmamız gerekecek (Yani İllaki Gerekecek ) ve yapamıyacaksınız Çünkü hiç veritabanı bağlantısı nasıl yapılır görmediniz işte o zaman Google yi açıp PHP Veritabanına Kayıt Ekleme diye aratacaksınız. Ve Büyük İhtimalle Harbiukalayı göreceksiniz. ve okumaya başlayacaksınız. Her neyse haydi başlayalım.

    İlk önce Baglanti.php die dosya oluşturacaksınız.

    içine şu kodları yazalım

    //İlk Önce Veritabanı bilgilerimizi girelim.
    <?
    $dbhost = "localhost"; // Sunucumuz
    $dbsuer= "root";       // Veritabanı Kullanıcı Adımız
    $dbpass = "1243";      // Veritabanı Şifemiz
    $dbname = "deneme";    // Veritabanı İsmi
     
    $baglan = mysql_connect("$dbhost,$dbuser,$dbpass");
    if(!$baglanti) die("MySQL sunucusuna baglanti saglanamadi!");
    mysql_select_db($dbname,$baglanti) or die("Veritabanı Bağlantısı Sağlanamadı") ;
     
    ?>
    Şimdi Gelelim Veritabanına Kayıt Eklemeye

    index.php ye ve ya siz nereye dilerseniz form oluşturalım. Eğer Form Oluşturmayı Bilmiyorsanız PHP Forum Oluşturma Ve Gönderme
    Adlı Makalemi Okuyabilirsiniz.

    Ben Yinede Bir Göstertim.

    <form action=”mesajkaydet.php” method=”post”>
    Adınız : <input type=”text” name=”adi” />
    <br>
    E-Posta : <input type=”text” name=”eposta” />
    <br>
    Konu : <input type=”text” name=”konu” />
    <br>
    Mesaj :<textarea name=”mesaj” cols=”20″ rows=””></textarea>
    <br />
    <input type=”submit” value=”Gönder” />
    </form>
    Şimdi Sql Tablomuzu oluşturalım.

    CREATE TABLE `veritabanı ismi`.`tabloismi` (
    `tabloismi_id` INT( 5 ) NOT NULL AUTO_INCREMENT ,
    `tabloismi_adi` VARCHAR( 100 ) NOT NULL ,
    `tabloismi_eposta` VARCHAR( 100 ) NOT NULL ,
    `tabloismi_konu` VARCHAR( 100 ) NOT NULL ,
    `tabloismi_mesaj` VARCHAR( 100 ) NOT NULL ,
    PRIMARY KEY ( `tabloismi_id` ) ,
    UNIQUE (
    `tabloismi_id`
    )
    ) ENGINE = MYISAM CHARACTER SET latin5 COLLATE latin5_turkish_ci;
    Şimdi Gelelim Mesajkaydet.php yi oluşturmaya

    <?
     
    include("baglanti.php");
     
    //Değişkenleri Tanımlayalım
     
    $adi = $_POST["adi"];
    $eposta= $_POST["eposta"];
    $konu= $_POST["konu"];
    $mesaj = $_POST["mesaj"];
     
    $baglan = mysql_query("İnsert into tablo adı (id,adi,eposta,konu,mesaj) values("NULL , $adi,$eposta, $konu, $mesaj)") ") or die("Hata Kayıt Eklenmedi") ;
     
    ?>
    Not : Makale Tamamen Kendime Aittir.
  • 19-09-2013, 19:36:02
    #2
    Hocam anlatim icin tesekkurler benim gorusum yeni baslayan birisi icin video anlatim daha iyi olabilir alta kodlari paylasabilirsiniz.
  • 19-09-2013, 19:58:25
    #3
    sanırm bir iki hata gördüm düzelteyim
    baglanti.php
    <?php
    //İlk Önce Veritabanı bilgilerimizi girelim. 
    // böyle yorum satırı yapaaksanız mutlaka <?php ? > tagı arasında olmalı yoksa direk basar :)
    
    $dbhost = "localhost"; // Sunucumuz 
    $dbsuer= "root";       // Veritabanı Kullanıcı Adımız 
    $dbpass = "1243";      // Veritabanı Şifemiz 
    $dbname = "deneme";    // Veritabanı İsmi 
      
    $baglan = mysql_connect("$dbhost,$dbuser,$dbpass"); 
    if(!$baglanti) die("MySQL sunucusuna baglanti saglanamadi!"); 
    mysql_select_db($dbname,$baglanti) or die("Veritabanı Bağlantısı Sağlanamadı") ; 
      
    ?>
    kurulum.php yapalım bir de
    <?php
    require("baglanti.php");
    
    $kurulum=mysql_query("CREATE TABLE `tabloismi` ( 
    `tabloismi_id` INT( 5 ) NOT NULL AUTO_INCREMENT , 
    `tabloismi_adi` VARCHAR( 100 ) NOT NULL , 
    `tabloismi_eposta` VARCHAR( 100 ) NOT NULL , 
    `tabloismi_konu` VARCHAR( 100 ) NOT NULL , 
    `tabloismi_mesaj` VARCHAR( 100 ) NOT NULL , 
    PRIMARY KEY ( `tabloismi_id` ) , 
    UNIQUE ( 
    `tabloismi_id` 
    ) 
    ) ENGINE = MYISAM CHARACTER SET latin5 COLLATE latin5_turkish_ci;");
    if($kurulum){echo "Kurulum Başarılı";}else{
    echo "Daha evvel kurulmuş olabilir veya hata var ;) veritabanını bi kontrol edin";
    }
    ?>
    bu da tamam sanırım gözümden kaçan birşey yoksa.
    Mesajkaydet.php yi de şöyle düzenleyelim.
    <?php
    
    $adi = mysql_real_escape_string($_POST["adi"]); 
    $eposta= mysql_real_escape_string($_POST["eposta"]); 
    $konu= mysql_real_escape_string($_POST["konu"]); 
    $mesaj = mysql_real_escape_string($_POST["mesaj"]); // addslashes() de kullanılabilir daha da iyi olur
    
    $eklemekodum=mysql_query("insert into tabloismi(tabloismi_adi,tabloismi_eposta,tabloismi_konu,tabloismi_mesaj)values('$adi','$eposta','$konu','$mesaj')");
    
    if($eklemekodum){echo "Eklendi.";}else{echo "Eklenemedi tablolarla ilgili sıkıntı var anam babam.";}
    
    // burada ekleme işleminden önce daha evvel eklenmiş bir yazı mı diye kontrol de edilebilir . mysql_num_rows ile. 
    
    
    ?>
  • 19-09-2013, 19:59:02
    #4
    Üyeliği durduruldu
    sRc adlı üyeden alıntı: mesajı görüntüle
    Hocam anlatim icin tesekkurler benim gorusum yeni baslayan birisi icin video anlatim daha iyi olabilir alta kodlari paylasabilirsiniz.
    Rica Ederim Hocam İsteyen Olursa Çekebilirim... :=)
  • 20-09-2013, 01:30:59
    #5
    Üyeliği durduruldu
    Sonra bu dosyaları sunucuya attıktan sonra bir lamer in yapacağı SQL Inj. i yiyip oturacaksınız aşağı