idsiz isme göre çekme

0
Onaylı Üye
Üye
Katılım
2 Şubat 2005
Mesajlar
1,607
Tepki puanı
1
Konum
Neverland
tablo
id 1,2,3
isim çağdaş sanatlar, ayışığı çimeni, şakşakçı ömer

şimdi ben bunları link olarak sayfaya koymak istiyorum. ama sayfanın adında rakam olmasını istemediğim için id ye göre çekmek istemiyorum. yani sayfam.php?isim=cagdas-sanatlar ya da sayfam.php?isim=ayisigi-cimeni gibi olsun istiyorum. ama tabi ki bunları link olarak yazarken türkçe karakterlerden ve bosluklardan arındırıyorum ki sayfam.php?isim=çağdaş%20sanatlar gibi şeyler olmasın arındırdığım için bu okumamazlık ediyo db den. yani where isim=$isim yaptığımda öyle bi isim yok ki? diye vermiyo isimleri replace ettiğim için.

nasıl yapılır bu acaba? rakam olsun istemiyorum linkte. olabiliyo mu böyle bişey?
 
0
Onaylı Üye
Üye
Katılım
11 Ekim 2004
Mesajlar
6,964
Tepki puanı
0
Konum
karavan
pembekedi' Alıntı:
tablo
id 1,2,3
isim çağdaş sanatlar, ayışığı çimeni, şakşakçı ömer

şimdi ben bunları link olarak sayfaya koymak istiyorum. ama sayfanın adında rakam olmasını istemediğim için id ye göre çekmek istemiyorum. yani sayfam.php?isim=cagdas-sanatlar ya da sayfam.php?isim=ayisigi-cimeni gibi olsun istiyorum. ama tabi ki bunları link olarak yazarken türkçe karakterlerden ve bosluklardan arındırıyorum ki sayfam.php?isim=çağdaş%20sanatlar gibi şeyler olmasın arındırdığım için bu okumamazlık ediyo db den. yani where isim=$isim yaptığımda öyle bi isim yok ki? diye vermiyo isimleri replace ettiğim için.

nasıl yapılır bu acaba? rakam olsun istemiyorum linkte. olabiliyo mu böyle bişey?
id koymazsan bu sorunu aşamazsın. id'ye göre çekip ismi rewrite yapman gerekir kedicik :p
 
0
Onaylı Üye
Üye
Katılım
2 Şubat 2005
Mesajlar
1,607
Tepki puanı
1
Konum
Neverland
idye göre çekip rewrite ile idyi yokedebiliyo muyus?
 
0
Onaylı Üye
Üye
Katılım
8 Nisan 2005
Mesajlar
1,722
Tepki puanı
3
Konum
Bursa
str_replace ile olur.

sql sorgusundan sonra elde ettigimiz hedef sayfa $hedef oldugunu varsayarsak.

PHP:
$hedef=str_replace(' ','-',$hedef);
echo "<a href=\"sayfam.php?isim=".$hedef."\" target=\"new\">".$hedef."</a>";

sayfam.php'de
PHP:
$hedef=$_GET['hedef'];
$hedef=str_replace('-',' ',$hedef);
$sorgu=mysql_query("select sutun from tablo where hedef='$hedef'");

..gibi

Edit: sayfam.php?isim=ayisigi-cimeni ornek alinmistir.
2. Edit: Turkce karakterleri gormemistim. Buna cozum olarakta sql tablonuzda ayri bir sutun acip oraya turkce karakterleri gozardi ederek isimleri yazin. Ingilizce sitelerinizde ozel karakterleri str_replace ile temizlersiniz. - ornektir. digerlerini ekleyerek fonksiyon haline getirebilirsiniz.
 
0
Onaylı Üye
Üye
Katılım
11 Ekim 2004
Mesajlar
6,964
Tepki puanı
0
Konum
karavan
pembekedi' Alıntı:
idye göre çekip rewrite ile idyi yokedebiliyo muyus?
o da mümkün değil bildiğim kadarıyla. mantıken öyle bir şey olması mümkün değil bana göre ama.
 
0
Onaylı Üye
Üye
Katılım
11 Ekim 2004
Mesajlar
6,964
Tepki puanı
0
Konum
karavan
MoD, o zaman sayfa bulunamaz hatası vermez mi?
 
0
Onaylı Üye
Üye
Katılım
8 Nisan 2005
Mesajlar
1,722
Tepki puanı
3
Konum
Bursa
2. Edit'i yazma sebebim oydu ploop. Ben sadece bosluk,nokta,virgul ..vs karakterlerden kurtulmak olarak anlamistim problemi. Ingilizce sitelerde problem yasanmaz. Ama Turkce devreye girdiginde 2. editte yazdigim gibi sql tablosunda acilacak ek bir sutun yeter. pembekedi sanirim sahis orumceklerinden korunmak istiyor. Bir noktaya kadarda engelleyecektir. Ama kesin cozum degil. Almak isteyen her zaman aliyor.
 
0
Onaylı Üye
Üye
Katılım
11 Ekim 2004
Mesajlar
6,964
Tepki puanı
0
Konum
karavan
evet 2. sütun olayını ben düşünmemiştim. direk siteyi id'li sisteme çevirdim oldu bitti :D
 
0
Onaylı Üye
Üye
Katılım
2 Şubat 2005
Mesajlar
1,607
Tepki puanı
1
Konum
Neverland
ben o ikinci editi görene kadar denedim burda tabi olmadı okumuyo delirdim. o sekilde bi çözüm düşündüm ben de mod en kötü ihtimalle öyle uğraşıcam. çünkü ikincide çektirirken öyle bi isim olmadığı için yok ki filan diyo.
 
0
Onaylı Üye
Üye
Katılım
8 Nisan 2005
Mesajlar
1,722
Tepki puanı
3
Konum
Bursa
Fakat dedigim gibi amac sahis orumceklerinden korunmaksa care degil. linklerinize kendi olusturacaginiz bir sifre algoritmasi ile 3-4 haneli bir sifre eklemeniz etkili olacaktir.
 
0
Onaylı Üye
Üye
Katılım
11 Ekim 2004
Mesajlar
6,964
Tepki puanı
0
Konum
karavan
MoD' Alıntı:
Fakat dedigim gibi amac sahis orumceklerinden korunmaksa care degil. linklerinize kendi olusturacaginiz bir sifre algoritmasi ile 3-4 haneli bir sifre eklemeniz etkili olacaktir.
bu konuyu biraz daha açar mısın?
 
0
Onaylı Üye
Üye
Katılım
5 Haziran 2006
Mesajlar
1,894
Tepki puanı
7
Türkçe karakterleri kendi belirlediğin kod yapabilirsin misal;
PHP:
<?
function degistir($yazi) {
$yazi=ereg_replace("c7","ç",$yazi);
$yazi=ereg_replace("c6","Ç",$yazi);
$yazi=ereg_replace("s7","ş",$yazi);
$yazi=ereg_replace("s6","Ş",$yazi);
$yazi=ereg_replace("o7","ö",$yazi);
$yazi=ereg_replace("o6","Ö",$yazi);
$yazi=ereg_replace("g7","ğ",$yazi);
$yazi=ereg_replace("g6","Ğ",$yazi);
$yazi=ereg_replace("i7","ı",$yazi);
$yazi=ereg_replace("i6","İ",$yazi);
return $yazi;
}
$yaz="c6etin ag7bi nai7lsi7n";
$link=ereg_replace(" ","-",$yaz);
$metin=degistir($yaz);
echo "<a href='index.php?git=$link'>$metin</a>";
?>
 
0
Onaylı Üye
Üye
Katılım
8 Nisan 2005
Mesajlar
1,722
Tepki puanı
3
Konum
Bursa
Tabi ki, Adres:
http://www.sifrelisayfam.tr/ploopun_adsense_seruvenleri-11756-f00.html

rewrite icin olusturulan adresimizde 1-2-3.html mantigi.
1- link basligi
2- link id
3- algoritmamiz.

Programlama konusunda cok uzman olmayi bile gerektirmiyor. Algoritma olusturmadan da calisacak bir halini yapalim.

Link verirken;

PHP:
// SQL sorgusunu yaptigimizi dusunelim. Elimizdeki veriler, id-baslik
$sifrem=md5($id);
$sifrem=substr($sifrem, 0, 3);
$baslik2=duzelt($baslik);
// duzelt isimli bir fonksiyonu str_replace ile yazabilirsiniz. 
//Turkce karakterler ve ozel karakterleri ayiklamak icin.
echo "<a href=\".$baslik2."-".$id."-".$sifrem.".html\">".$baslik."</a>";
Bunu karsilayan sayfada ise yani linkle tiklandiginda acilacak php dosyamizda,
PHP:
$id=$_GET['id'];
$sifre=$_GET['sifrem'];
$md5=md5($id);
$md5=substr($md5, 0, 3);
if ($md5!=$sifre) {
// JS yada header fonksiyonu ile ana sayfaya atabilirsiniz
// Yada hata mesaji verdirebilirsiniz
} else {
// Sifre dogrulandiysa icerigi gosterirsiniz.
}
 
0
Onaylı Üye
Üye
Katılım
8 Nisan 2005
Mesajlar
1,722
Tepki puanı
3
Konum
Bursa
Caesar' Alıntı:
PHP:
$link=ereg_replace(" ","-",$yaz);

Kodlamada hiz ve performans baz alindigi icin ereg_replace yerine str_replace'i tavsiye ederim.
 
0
Onaylı Üye
Üye
Katılım
5 Haziran 2006
Mesajlar
1,894
Tepki puanı
7
onada gerek yok ben direk örnek olsun istedim direk array içine tüm değişkenleri atayıp tek str fonksiyonuyla işi halletmek en hızlısıdır ben sadece mantığını açıklamak için hızlı bir şekilde yazdım.
 
Geri
Üst