Veritabanına Kayıt Yapmak

Forumlarda sık sık karşılaştığım sorulardan birisi de veritabanına kayıt ekleyememek. Bu problemi sonlandırmak amacıyla detaylı bir ders hazırlamaya karar verdim.

Forumlarda sık sık karşılaştığım sorulardan birisi de veritabanına kayıt ekleyememek. Bu problemi sonlandırmak amacıyla detaylı bir ders hazırlamaya karar verdim.

Önce MySQL veritabanı yapımızı belirliyoruz.

veritabani.sql




CREATE TABLE tablo (

  id int(11) NOT NULL auto_increment,

  `metin` text collate latin1_general_ci NOT NULL,

  PRIMARY KEY  (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=1 ;



Daha sonra PHP kodlamaya başlıyoruz. İşlemleri tek dosyada yapmamız mümkün. Bunun için önce form sayfasını yapıyoruz.

kayit.php


<?php 

ob_start
();



$db_adi  "veritabani_adi";

$db_user "veritabani_kullanici_adi";

$db_pass "veritabani_sifre";



# VERİTABANI BAÐLANTISI

mysql_connect("localhost",$db_user,$db_pass);

mysql_select_db($db_adi);



# GET' TE islem VARSA DEÃİŞKENE KAYDEDİYORUZ.

if(isset($_GET["islem"])) $islem $_GET["islem"];





if(
$islem=="") { 



echo 
'<form method="post" action="kayit.php?islem=kaydet">

  <label>

  <textarea name="metin" cols="45" rows="5"></textarea>

  </label>

  <p>

    <label>

    <input type="submit" name="button" id="button" value="Submit" />

    </label>

  </p>

</form>

Formdan giden veriyi temizlemeden kayıt yaptırdık. Siz güvenlik 

önlemi amacıyla filtreden geçirerek yaparsanız 

daha sağlıklı olacaktır'
;





# TEK DOSYA İÇİNDE İŞLEMİ BİTİRMEK İÇİN KODUMUZU YAZMAYA BAŞLIYORUZ

} elseif($islem=="kaydet") { 



    
# KAYDI YAP

    
$q mysql_query("insert into tablo (metin) values ('".$_POST['metin']."')");



        
# KAYIT YAPILMIŞSA DOSYAYA GERİ DÖN

        
if($q) { 

            echo 
"Kayıt Yapıldı";

        } else {

            
# KAYIT YAPILAMAMIŞSA HATA MESAJI YAZ

            
echo "Kayıt Yapılamadı";

        }



}



?> ?>



Formdan giden veriyi temizlemeden kayıt yaptırdık. Siz güvenlik önlemi amacıyla filtreden geçirerek yaparsanız daha sağlıklı olacaktır.
  • Etiketler;
Abdullah Tekin
PHP, Ajax ve JQuery'e son derece hakim bir programcı olarak bazı firma ve kuruluşlara aşağıdaki konular dahilinde freelance olarak hizmet veriyor: - Daima web standartlarını, SEO (Arama Motoru Optimizasyonu) ve güvenlik önlemlerini içeren projeler gerçekleştirmek, - Tasarımı yapılmış web sitelerini kusursuz bir şekilde web'e uyarlamak, - Özgün ve kodları kendisi tarafından yazılabilen PHP+Jquery+Ajax destekli modüller hazırlamak - Web stratejileri oluşturulması, - Web dahilinde sistemler kurmak, - Kontrol panelleri hazırlamak, - Hızlı, kullanılabilir, erişilir ve güvenliği üst düzeyde olabilecek web siteleri alt yapısını oluşturmak. İçerik Yönetim Sistemi (CMS), Haber Sistemi, E-Ticaret ve Okul Yönetim projelerini içine alan PHP konusundaki birikimlerini burada Sanalkurs.net üyelerine aktarıyor ve aynı zamanda Sanalkurs'un yazılım altyapısını şu an en üst düzeye taşımak için gece gündüz kodlarla boğuşuyor.
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Herşeyi yaptım fakat işlem başarısız. 2 haftadır düzgün birşey yapamadım kafam karıştı gerçekten..
Hep kayıt yapılamadı hatası veriyor herşey tamam ?!?
$q = mysql_query("insert into tablo (metin) values ('".$_POST['metin']."')"); satırında sadece metin değeri değilde adi,soyadi vs bilgileri eklmek istersek kod nasıl olacak teşekkürler
$q = mysql_query("insert into tablo (metin,adi,soyadi) values ('".$_POST['metin']."', '".$_POST['adi']."', '".$_POST['soyadi']."')"); şeklinde olacak. Aralara virgül koyarak extra bilgi ekleyebilirsiniz.
yazılan kayıtları düzenlemek ve silmek için örnek verebilirmisiniz teşekkürler
valla hocam veri tabanını bile oluşturamadım sürekli hata verip duruyo
mrb. veritabanında verdiginiz örnekde virgül eksik doğrusu CREATE TABLE tablo ( id int(11) NOT NULL auto_increment, `metin` text collate latin1_general_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=1 ; bu şekilde olacak Teşekürler ders için.:kirp:
Uyarınız için teşekkürler, bir virgül atlamışız... Hata düzeltilmiştir.
bilgisayarımda ve farklı 2 hostingde denedim kodlar çalışmıyor. kayıt yapılamadı yazıyor aceba kodların özel bir durumumu var, php sürümü felan gibi
Arkadaşlar RAR dosyası içindeki SQL dosyasında sorun vardı evet. Bir tırnak hatasıydı ve düzelttim. Fakat burada derste gördüğünüz kodlarda bir sorun yok. Veritabanı bağlantılarınızın doğru olduğundan emin olun. Şimdi denedim ve çalışıyor.
yazili olan veriye nasil editleye biliriz bilen varsa yardimci olacbilirmi
çok güzel bir örnek tıkır tıkır çalışıyor. Allah razı olsun.
birde bunu okutalım haydi :D
bakın ne öğrenmek istiyorum benim veri tabanı adım pfpberk ama smf de bunu yazıyorum olmuyo nasıl veri tabanı adını nereden öğrenecem
Ben bişey söyleyeceğim ama bunu yapan arkadaş yanlış anlamasın ben php bilmem .net bilirim ve sql server da veritabanı yaparım burda veritabanın phpmyadmin la yapılmamış sql server la yapılmış bu kodları sql server kabul etmez nasıl php le bağlantı kuruyosun anlamadım bu yazılan kod'a sql server da t-sql deniliyor bi yanlışlık var sanırım ondan çalışmıyor. teşekkürler kolay gelsin
Açıkcası daha ilk denememde sorunsuz olarak çalıştırdım. Kodlarda hiç bir hata göremedim. Not : Kaynak dosyayı indirmeden,sayfada verilmiş kodları kullandım. Teşekkürler
arkadaşım biz çalışması için bu sql dosyasını nereye atmamız lazım?
veritabanı atarken sql hata veriyo acaba sebebi ne olabilir??? HATA!! SQL sorgusu: CREATE TABLE tablo( id int( 11 ) NOT NULL AUTO_INCREMENT , `metin` text COLLATE latin1_general_ci NOT NULL , PRIMARY KEY ( `id` ) ) ENGINE = MYISAM AUTO_INCREMENT =1 MySQL çıktısı: #1050 - Table 'tablo' already exists
Benim hosting aldığım firma phpmyadmin desteği veriyor. phpmyadminde bir veri tabanı ve 2 tablo oluşturdum. php hiç bilmiyorum biraz asp bilgim var asp de oluşturduğum formdaki bilgileri bu veri tabanına kayıt edebilirmiyim. Oluyorsa bağlantı kodlarını yazarsanız çok sevinirim şimdiden Teşekkürler
dostum link ölmüş bi bakabilrmsin? emeğine sağlık!
ya bu php üyelik sistemine hiç kafam basmıyo yaa
Warning: Access denied for user: 'veritabani_kullanici_adi@localhost' (Using password: YES) in c:appservwwwkayit.php on line 9 Warning: MySQL Connection Failed: Access denied for user: 'veritabani_kullanici_adi@localhost' (Using password: YES) in c:appservwwwkayit.php on line 9 verilen cevap budur ne olabilir
teşekkürler
iyi gunler hocam iliskili iki tablo olunca nasıl veri girebilirz yanlız farklı formlardan farklı zamanlarda. yapmak istedigim uye olan kısıye id verilecek o id uyenin pesinden gitsin ne yaparsa o id ile kaydedilsin mantıgını acıklayabiilirmisiniz
Allah Razı Olsun kardeş.. Çok işime yarayacak...
$q = mysql_query("insert into tablo (metin) values ('".$_POST['metin']."')"); bu Satırda Hata var Efendim ; $q = mysql_query("İNSERT İNTO tablo (metin) values('$_POST['metin']')"); bu şekilde. iyi günler.
Çok güzel anlatmışsın Abdullah hocam.Faydalı oldu.
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:wampwwwMalzemekaydet.php on line 29 böle bi HATA veriyo napmam lazım..:S
Notice: Undefined variable: islem in C:wampwwwdenemekayit.php on line 16 Call Stack # Time Memory Function Location 1 0.0006 369240 {main}( ) ..kayit.php:0
Notice: Undefined variable: islem in C:wampwwwdenemekayit.php on line 16 Call Stack # Time Memory Function Location 1 0.0006 369240 {main}( ) ..kayit.php:0 hatası alıyorum ama kayıt yapabiliyorum.
hocam bu PHP bir de asp.net VB yapsan çok güzel olacak !!

Yukarı Git