IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 01 Şubat 2006, 12:18   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Php & Sql




PHP’nin 4 versiyonunda, MySQL’le iletişim için kullanılabilecek tüm komutlar ve kısa açıklamaları.
mysql_affected_rows
Bir önceki işlemde etkilenen satır sayısı.

mysql_close
Belirtilen mysql bağlantısını kapatır.

mysql_connect
Sunucuya veritabanı bağlantısı açar.

mysql_create_db
MySQL’de veritabanı açar.

mysql_data_seek
Sonuç satırında belirtilen sıraya geçer.

mysql_db_query
MySQL’e sorgu gönderir.

mysql_drop_db
Veritabanını sunucudan siler.

mysql_errno
Bir önceki işlemdeki MySQL hata numarasını verir.

mysql_error
Bir önceki işlemdeki MySQL hata mesajını verir.

mysql_fetch_array
Sonuçları dizi değişkeni olarak alır.

mysql_fetch_field
Sonuç tablosundaki alan adını nesne olarak alır.

mysql_fetch_lenghts
Sonuç tablosundaki dizi değişkeninin uzunluğunu alır.

mysql_fetch_object
Sonuç satırını nesne olarak alır.

mysql_fetch_row
Sonuç tablosundan sizi değişkeni alır.

mysql_field_name
Sonuç tablosundaki sonucun tablodaki alan adını verir.

mysql_field_seek
Sonuç tablosunda sıra indeksini belirten yere götürür.

mysql_field_table
Alan adı verilen sonucun tablo adını verir.

mysql_field_type
Sonuçtaki alanın hangi tip olduğunu belirtir.

mysql_field_flags
Sonuçtaki alanın hangi tür ekstra parametrelerle tanımlandığını belirtir.

mysql_field_len
Sonuçtaki alanın veritabanındaki uzunluğunu verir.

mysql_free_result
Sonuçlar için atanan hafızayı boşaltır.

mysql_insert_id
Bir önceki veri yerleştirmede oluşan otomatik veri değerini verir.

mysql_list_fields
Sonuçtaki tüm tablo alanlarını listeler.

mysql_list_dbs
Sunucudaki tüm veritabanlarını listeler.

mysql_list_tables
Veritabanındaki tüm tabloları listeler.

mysql_num_fields
Sonuçtaki alan sayısını verir.

mysql_num_rows
Sonuçtaki satır sayısını verir.

mysql_pconnect
Sunucuya kalıcı bir bağlantı tanımlar.

mysql_query
Veritabanına sorgu gönderir.

mysql_result
Sorgudan dönen sonuçları alır.

mysql_select_db
Sunucudan veritabanı seçer.

mysql_tablename
Verilen alanın ait olduğu tablonun adını verir.
PhpMyAdmin Kurulumu
PhpMyAdmin’in kısa bir şekilde kurumunu örnekler ile anlatağım. Önce PhpMyAdmin’in son sürümünü indirmemiz gerekiyor.[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]adresinden download ettikten sonra web sitemizin klasörü içine zip’li dosyasyı açalım.
Örneğin: AppServ için yol [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] olacaktır.

Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Daha sonra config.inc.php dosyasına girerek ayarları yapmamız gerekmektedir.
$cfg[’Servers’][$i][’host’]
$cfg[’Servers’][$i][’user’]
$cfg[’Servers’][$i][’password’]
değişkenlerini kendimize göre ayarlayalım.
Örnek:
$cfg[’Servers’][$i][’host’] = ’localhost’;
$cfg[’Servers’][$i][’user’] = ’root’;
$cfg[’Servers’][$i][’password’] = ’’;

Database Bölümleme
Öncelikle database dosyalarınızı yedeklemenin en pratik yolunun phpmyadmin olduğunu ifade ederek başlamak istiyorum. İsterseniz önce onu anlatalım:

Sitenizin kontrol paneline giriş yapınız. (Bunun cPanel olduğunu varsayıyorum) Daha sonra cPanel’den MySQL menüsünü açın ve oradan da phpmyadmin linkini tıklayarak database yönetim sayfanızı açın. Yedeklemek istediğiniz database seçiliyken üst menüden EXPORT (Eğer türkçeyse Dönüştür) linkini tıklayınız. Açılan pencerede dilerseniz sadece yedeklemek istediğiniz tabloları, dilerseniz de tabloların hepsini seçili hale getiriniz. (CTRL+A veya alttaki hepsini seç linki ile hepsini seçebilir, CTRL’ye basılı tutarak tane tane seçim yapabilirsiniz) Daha sonra bunu direkt download edebilmek için altta yer alan Save as file yazısının hemen solundaki kutucuğu tıklayarak seçili hale getiriniz. (Bu kutucuğu işaretlemezseniz de database tablolarını yedekleyebilirsiniz, ama bunu bir sonraki açılan sayfadan yapabilirsiniz) Bu işlemi de yaptıktan sonra diğer ayarlara dokunmayıp Go butonunu tıklayınız. Database’niz tek bir sql uzantılı dosya olarak inmeye başlayacaktır.

Şimdi elimizde sql uzantılı bir database dosyası var ve ancak bağlantımız yavaş olduğu ve/veya bu dosya çok büyük olduğu için bunu parçalara ayırmamız gerekiyor. (İşte dersimizin asıl konusu da bu oluyor)

Elimizde bulunması gerekenler
Sql uzantılı dosyalar normal bir txt dosyasından farksızdır ve herhangi bir txt editörüyle kolayca düzenlenebilirler. (Örn: Notepad gibi) Ancak benim size şiddetle tavsiyem bunun için Context isimli editörü kullanmanız. Nette bulabileceğiniz en kaliteli txt editörlerden birisidir ve tamamen ücretsizdir. Türkçe karakterleri de tanıyan bu programı [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] adresinden indirebilirsiniz. Ancak bunu yapmak istemiyorsanız Notepad’de sizin işinizi görecektir.

Database adımız phpkolik.sql olsun ve şimdi onu bölümleyelim. phpkolik.sql dosyamızı context veya herhangi bir txt editörüyle açtığımızda eğer yedeklemeyi phpmyadmin üzerinden yapmışsak her tablo yaratma komutundan önce ve sonra --------------------- şeklinde çizgiler olduğunu görürüz. İşte bu çizgileri dikkate alarak kolaylıkla birden fazla parçaya ayırmamız mümkündür. Ama bir çokları database dosyalarını phpmyadmin vasıtasıyla değil admin panelinden yedeklediği için bu çizgiler yokmuş gibi anlatacağım:

MY SQL Database’de tablo oluşum komutu CREATE TABLE olduğu için böyle başlayan bölümleri bölüm sonuna kadar kesinlikle bölmüyoruz. Örnek:
CREATE TABLE `cpg_albums` ( `aid` int(11) NOT NULL auto_increment, `title` varchar(255) NOT NULL default ’’, `description` text NOT NULL, `visibility` int(11) NOT NULL default ’0’, `uploads` enum(’YES’,’NO’) NOT NULL default ’NO’, `comments` enum(’YES’,’NO’) NOT NULL default ’YES’, `votes` enum(’YES’,’NO’) NOT NULL default ’YES’, `pos` int(11) NOT NULL default ’0’, `category` int(11) NOT NULL default ’0’, `pic_count` int(11) NOT NULL default ’0’, `thumb` int(11) NOT NULL default ’0’, `last_addition` datetime NOT NULL default ’0000-00-00 00:00:00’, `stat_uptodate` enum(’YES’,’NO’) NOT NULL default ’NO’, PRIMARY KEY (`aid`), KEY `alb_category` (`category`)) TYPE=MyISAM AUTO_INCREMENT=1 ;CREATE TABLE `cpg_categories` ( `cid` int(11) NOT NULL auto_increment, `owner_id` int(11) NOT NULL default ’0’, `catname` varchar(255) NOT NULL default ’’, `description` text NOT NULL, `pos` int(11) NOT NULL default ’0’, `parent` int(11) NOT NULL default ’0’, `subcat_count` int(11) NOT NULL default ’0’, `alb_count` int(11) NOT NULL default ’0’, `pic_count` int(11) NOT NULL default ’0’, `stat_uptodate` enum(’YES’,’NO’) NOT NULL default ’NO’, PRIMARY KEY (`cid`), KEY `cat_parent` (`parent`), KEY `cat_pos` (`pos`), KEY `cat_owner_id` (`owner_id`)) TYPE=MyISAM AUTO_INCREMENT=1 ;
Yukarıda cpg_albums ve cpg_categories isimli iki tablonun oluşturulma kodları yer almaktadır. Bunu kocaman bir sql dosyası varsayıp ikiye bölme işlemine başlıyoruz. Burada bizim için en büyük ipucu CREATE TABLE komutunun başlama noktalarıdır. İşte tam o komutu dikkate alarak bölümlediğimizde hiç bir sorunla karşılaşmayız. Bir de bunun dışında :
INSERT INTO `io_oyun_config` VALUES (’isikonline’, 15, 25, 10, 0, 0, 1, 5); ile başlayan satırlar vardır ki bu satırların en başındaki INSERT INTO bir tabloya veri girilirken kullanılan komuttur. Yine CREATE TABLE komutunu nasıl başlangıç için dikkate aldıysak bunu da o şekilde dikkate alarak bölümleme yapmalıyız. Kesinlikle CREATE TABLE ve INSERT INTO ile başlayan komutların bütün parametreleri sona ermeden bölümlemeyiniz. Çünkü bu hem hatalı tablo yapılandırmasına sebep olur, hem de datalarınızda kayba yolaçar.

512 Bit MD5 Şifreleme <?php
function md5_sifrele($username, $password)
{
$one = $username;
$two = $password;
$thr = $one . $two;
$fou = $thr . $one;
$fiv = $fou . $one;
$six = $thr . $thr;
$sev = $one . $two . $thr . $one;
$md1 = md5( $sev . $two . md5($one . $fiv . md5($sev . strrev( $sev))));
$md2 = md5( $md1 . md5( $one . $thr . $fou . md5( $sev . $md1)));
$md3 = md5( $md2 . md5($md1));
$md4 = md5( $md3 . $md1 . $md2 . md5($sev));
return $md2 . $md1. $md4 . md5($md3 . $md2);
}
?>


Örnek olarak verildiği için username ve password değişkeni sisteme göre değiştirilebilir. Örneğin sitenizde kullanıcı adı değişkeni kullanici ve şifre değişkenide sifre ise fonksiyon aşağıdaki şekilde gözükmelidir;


<?php
function md5_sifrele($kullanici, $sifre)
{
$one = $kullanici;
$two = $sifre;
$thr = $one . $two;
$fou = $thr . $one;
$fiv = $fou . $one;
$six = $thr . $thr;
$sev = $one . $two . $thr . $one;
$md1 = md5( $sev . $two . md5($one . $fiv . md5($sev . strrev( $sev))));
$md2 = md5( $md1 . md5( $one . $thr . $fou . md5( $sev . $md1)));
$md3 = md5( $md2 . md5($md1));
$md4 = md5( $md3 . $md1 . $md2 . md5($sev));
return $md2 . $md1. $md4 . md5($md3 . $md2);
}
?>

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Benimmekan Mobil Sohbet
Alt 01 Şubat 2006, 13:30   #2
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)



Paylaştığın dökümanlar iyi güzelde birde alıntı olduğunu belirtsen ?

 
Alıntı ile Cevapla

Alt 01 Şubat 2006, 13:36   #3
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)



Feridun hocam üyelik isteyen bir siteden alıntı yaptım
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
bu msn'im eklersen link yada olmazsa kendi şifremi verebilirim girip detaylı bilgi alabilirsin ..

 
Alıntı ile Cevapla

Alt 01 Şubat 2006, 13:43   #4
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)



Yok benim derdim siteye girmek falan değil, sitenin üyelik istemeside sorun değil. Ama benim düşünceme göre, senden önce başkasının emek verip yazdığı bir dökümanı paylaştığında; "Bu döküman şu kişi tarafından yazılmıştır." şeklinde bir ibare belirtmen çok hoş olacaktır.

 
Alıntı ile Cevapla

Alt 01 Şubat 2006, 13:53   #5
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)



Bu Döküman'ın yazarı geçen seneki ev arkadaşımdır buraya üyeliği mevcut değildir .. ve bende sizlerle paylaşmak istedim ..

 
Alıntı ile Cevapla

Alt 13 Şubat 2006, 20:06   #6
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)



md5 ler zaten 128 bit 4 kere md5 kullan 512 olsun.

 
Alıntı ile Cevapla

Alt 25 Haziran 2006, 17:36   #7
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Yanıt: Php & Sql




Raiden Nickli Üyeden Alıntı
md5 ler zaten 128 bit 4 kere md5 kullan 512 olsun.

Onu denedim olmuyor. Karışıyor ben beceremedim yani siz beceribiliyorsanız eger paylaşırsanız sevinirim.

 
Alıntı ile Cevapla

Cevapla

Etiketler
sql, php


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık