Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun.
Aktivasyon mailiniz gelmediyse buraya tıklayın.
09, 2008, 01:42:41 am
42744 Mesaj 8090 Konu Gönderen: 17931 Üye
Son üye: medist
Turk-Php.Com Forum  |  Yardım Forumları  |  PHP Yardım Forumu  |  $_GET kullanımı « önceki sonraki »
Sayfa: [1] Yazdır
Yazan Konu: $_GET kullanımı  (Okunma Sayısı 1375 defa)
PeSSivite
PHP Öğrencisi
*
Offline Offline

Mesaj Sayısı: 99


Üyelik Bilgileri
$_GET kullanımı
« : 25, 2006, 04:39:21 pm »

Arkadaşlar bir download scripti için şu kodları kullanıyorum;

Kod:
print "<a href=\"?anakat=$anakat[id]&altkat=$altkat[id]&dosya=$dosya[id]\">$dosya[adi]</a>";

Bu şekilde sql den verilerimi alıp linklerimi oluşturuyorum.Hatta bunu while ile yazdırıyodum.Ne kadar varsa yazıyor.Burda problem yok.

Fakat problem şu ;

bu link url de şu şekilde çıkıyor;

index.php?anakat=1&altkat=3&dosya=33 gibi çıkıyor.Peki url de bu yazınca sadece istediğim dosyanın özelliklerini göster nasıl diyebilirim.

Bu linkte artık switch ve case den bahzedemeyiz.İşte bu yüzden kilitlendim  Smiley

Sanırım $_GET leri kullanıcaz fakat if ile mi kullanmalıyım nasıl yapabilirim bir örnekle yazarsanız sevinirim..

Teşekkürler..
Logged

Bildiğini yazmayan,Bilmediğini sormayan adam ilerleyemez...

&#039;PeSSivite&#039;
PeSSivite
PHP Öğrencisi
*
Offline Offline

Mesaj Sayısı: 99


Üyelik Bilgileri
Ynt: $_GET kullanımı
« Yanıtla #1 : 25, 2006, 05:57:12 pm »

Arkadaşlar fikirlerinizi esirgemeyin.

Anladım anliycam öyle bir yerdeyim yani tutun elimden  Smiley
Logged

Bildiğini yazmayan,Bilmediğini sormayan adam ilerleyemez...

&#039;PeSSivite&#039;
shapcy
Mustafa Şapçılı
Admin
*
Offline Offline

Mesaj Sayısı: 811


PHP Coding...


Üyelik Bilgileri WWW
Ynt: $_GET kullanımı
« Yanıtla #2 : 26, 2006, 05:10:29 am »

Tablo yapılarını yazmadığın için, nasıl bunları bağladığını bilmediğimden tam anlatamayacağım ama sorgularken veritabanını WHERE dosya=$_GET[$dosya] and altkat=$_GET[$altkat] gibi. Umarım mantığı anlatabilmişimdir. Ama bundan önce bir filtreleme yapman lazım. Yoksa çok güzel bi güvenlik açığı olur Smiley
Logged

PeSSivite
PHP Öğrencisi
*
Offline Offline

Mesaj Sayısı: 99


Üyelik Bilgileri
Ynt: $_GET kullanımı
« Yanıtla #3 : 26, 2006, 05:13:03 am »

Tablolarım bunlar ;

anakategori,altkategori,dosyalar

Peki bu şekildeki sorgu satırını sayfanın herhangi bir yerinde mi yazdıracağım yoksa 'url de şunlar şunlar yazıyorsa sorguyu çalıştır' şeklinde mi olacak ?

Teşekkürler ilgin için.
Logged

Bildiğini yazmayan,Bilmediğini sormayan adam ilerleyemez...

&#039;PeSSivite&#039;
shapcy
Mustafa Şapçılı
Admin
*
Offline Offline

Mesaj Sayısı: 811


PHP Coding...


Üyelik Bilgileri WWW
Ynt: $_GET kullanımı
« Yanıtla #4 : 26, 2006, 05:15:49 am »

Şimdi tabi gelen veriyi kontrol etmen lazım. Şimdi sen belli kriterler istiyorsun sorgun için. O zaman bu veriler gelmiş mi diye kontrol etmen lazım if yapısıyla örneğin, sonra bu veriler düzgün veriler mi diye kontrol etmen lazım sorgunu bozmaması için. Bunları gerçekleştirdikten sonra yapabilirsin sorgunu.
Logged

PeSSivite
PHP Öğrencisi
*
Offline Offline

Mesaj Sayısı: 99


Üyelik Bilgileri
Ynt: $_GET kullanımı
« Yanıtla #5 : 26, 2006, 05:20:20 am »

Peki şöyle bir komut çalışır mı

Kod:
if($_GET["dosya"] = ".$dosya[id]."){
Print "$dosya[id]";
}else{
print "Böyle bir dosya bulunmamaktadır";
}

Yani url deki dosya değerinde bir dosya varsa base de,onu göstersin diyorum burda.çalışır mı sizce ?
Logged

Bildiğini yazmayan,Bilmediğini sormayan adam ilerleyemez...

&#039;PeSSivite&#039;
shapcy
Mustafa Şapçılı
Admin
*
Offline Offline

Mesaj Sayısı: 811


PHP Coding...


Üyelik Bilgileri WWW
Ynt: $_GET kullanımı
« Yanıtla #6 : 26, 2006, 05:24:05 am »

Sanırım tam senin yapını anlamamışım. Şöyle bir daha anlatayım. Bir dosya eklediğinde o tabloda dosya_id, anakat_id, altkat_id gibi sütunlar yok mu? Şimdi sen GET ile verilerin gelip gelmediğini, düzgün mü değil mi diye baktıktan sonra sorguya alırsın. Sorgudan sonuç dönüyorsa ztn dosya vardır ve ekrana basarsız; yoksa ztn dosya bulunamadı hatasını basarsın.
Logged

PeSSivite
PHP Öğrencisi
*
Offline Offline

Mesaj Sayısı: 99


Üyelik Bilgileri
Ynt: $_GET kullanımı
« Yanıtla #7 : 26, 2006, 05:38:07 am »

evet dediğiniz kısımlar var dosyalar tablosunda.

GET ile nasıl düzgün mü değil mi bakabilirim ?


ufak bir örnek yazabilir misiniz
Logged

Bildiğini yazmayan,Bilmediğini sormayan adam ilerleyemez...

&#039;PeSSivite&#039;
shapcy
Mustafa Şapçılı
Admin
*
Offline Offline

Mesaj Sayısı: 811


PHP Coding...


Üyelik Bilgileri WWW
Ynt: $_GET kullanımı
« Yanıtla #8 : 26, 2006, 05:45:13 am »

Bi şunu dene istersen;
Kod:
if (!ctype_alnum($_GET['dosya']) || !ctype_alnum($_GET['altkat']) || !ctype_alnum($GET['anakat'))
{
    echo 'Hacking Girişimi';
    exit();
}

Tabi adamı hemen hackle suçlamamak lazım ama sonuçta oradaki verimize niye harf veya rakam dışında bir veri girsin Smiley

Verinin gelip gelmediğini veya boş olup olmadığını empty, isset gibi fonksiyonlarla halledersin. Gerekirse onlarla da ilgili örnek vererim.
Logged

PeSSivite
PHP Öğrencisi
*
Offline Offline

Mesaj Sayısı: 99


Üyelik Bilgileri
Ynt: $_GET kullanımı
« Yanıtla #9 : 26, 2006, 05:56:32 am »

Kod:
if(empty($_GET["dosya"])){
print "Böyle bir dosya bulunmamaktadır";
}else{
Print $dosya[adi];
}

Bu şekilde varmı yokmu diye bakıyorum ama gene konuyu açtığımdaki sorumu yanıtlamıyor tüm bunlar  Embarrassed
Logged

Bildiğini yazmayan,Bilmediğini sormayan adam ilerleyemez...

&#039;PeSSivite&#039;
shapcy
Mustafa Şapçılı
Admin
*
Offline Offline

Mesaj Sayısı: 811


PHP Coding...


Üyelik Bilgileri WWW
Ynt: $_GET kullanımı
« Yanıtla #10 : 26, 2006, 06:03:29 am »

Ya dosya adını fln yazmayacaksın. Sen sadece kontrol yapacaksın, eğer kontrollerde aksilik çıkıyorsa Dosya bulunamadı veya buna benzer bir hata ver. Ama kontrol doğruysa diye hemen print yapmayacaksın. Örneğin;
Kod:
if(empty($_GET["dosya"])){
print "Böyle bir dosya bulunmamaktadır";
exit();
}
Hata oluştuğu için tüm scripti sonlandırıyoruz. Çünkü sorgumuz gerçekleşmemeli. Tüm bu kontroller gerçekleştikten sonra sorgulama zamanı. SELECT alan,cart,curt ........................... WHERE dosya_id=$_GET['dosya'] and .....

Bu sorgu sonucunu yazdırdığında ztn istediğin sonuçtur. Eğer bu sorgu sonuç döndürmezse de Dosya bulunamadı.

Umarım bu sefer anlatabilmişimdir.

Olmadı kodlarını yaz, tablo yapını ayrıntılı yaz ki sorununu daha çabuk halledebilelim...
Logged

PeSSivite
PHP Öğrencisi
*
Offline Offline

Mesaj Sayısı: 99


Üyelik Bilgileri
Ynt: $_GET kullanımı
« Yanıtla #11 : 26, 2006, 06:24:04 am »

Kod:
if(empty($_GET["dosya"])){
print "Böyle bir dosya bulunmamaktadır";
}else{
$dosyabak = mysql_query("SELECT id FROM bk_dosyalar WHERE id = '".$_GET[dosya]."'");
$dosya = mysql_fetch_assoc($dosyabak);
Print "$dosya[id]";
}

Şu şekilde çalıştı.Tabi böyle kullanmayacam daha değiştiricem bunu.Takıldığım yer olursa yine rahatsız ederim  Smiley Teşekkürler.
Logged

Bildiğini yazmayan,Bilmediğini sormayan adam ilerleyemez...

&#039;PeSSivite&#039;
shapcy
Mustafa Şapçılı
Admin
*
Offline Offline

Mesaj Sayısı: 811


PHP Coding...


Üyelik Bilgileri WWW
Ynt: $_GET kullanımı
« Yanıtla #12 : 26, 2006, 06:40:11 am »

Peki bu halde oradaki altkat veya anakat ın ne anlamı var ?
Logged

PeSSivite
PHP Öğrencisi
*
Offline Offline

Mesaj Sayısı: 99


Üyelik Bilgileri
Ynt: $_GET kullanımı
« Yanıtla #13 : 26, 2006, 06:50:35 am »

Anakat ve altkat ı index te saklayıp dosya.php ye link verdirerek hallettim sorunu.

İlk sorumdaki birazcık aşıyor şu an için beni  Smiley
Logged

Bildiğini yazmayan,Bilmediğini sormayan adam ilerleyemez...

&#039;PeSSivite&#039;
shapcy
Mustafa Şapçılı
Admin
*
Offline Offline

Mesaj Sayısı: 811


PHP Coding...


Üyelik Bilgileri WWW
Ynt: $_GET kullanımı
« Yanıtla #14 : 26, 2006, 06:56:50 am »

Neyse sen bilirsin o zmn Smiley

İyi çalışmalar...
Logged

Sayfa: [1] Yazdır 
« önceki sonraki »
Gitmek istediğiniz yer:  


Turk-Php.Com Forum | SMF Forum Software © 2005, Simple Machines LLC. All Rights Reserved.