Abicim kimse anlamadı beni ben linkleri replace ile düzeltiyorum
Örnek: siteadi.com/konum.php?=Ahmet Şentürk
Seosu: siteadi.com/ahmet-senturk.html yapıyorum ve .htaccess ilede arama yaptırtıyorum bunlarda sorun yok. Sadece tek sorun şu;
Veritabanında "Amet Şentürk"diye kayıtlı olduğundan dolayı ben ahmet-senturk olarak arattırdığım için bulamıyor Buna bi çözüm varmı ? tek kelimeli ve türkçe karakter olmayan kelimeler kayıtlıysa veritabanında onları arayıp bulabiliyor. Ama veritabanındaki kelimeler türkçe karakter ise ve /veya 2 kelimeyse "Ahmet Şentürk" gibi o zaman bulamıyor Bunu nasıl halledebilirim diye soruyordum ben ?
php arama
16
●1.495
- 14-07-2008, 12:40:04Arama butonuna basıldığında geçici 1 sayfaya türkçe karakterleri değiştirmeden kelimeleri post et, aramanı yap ve daha sonra sonuçları göstereceğin sayfayı aranan kelimelerde gerekli değişikliği yaparak göster.
"ahmet şentürk"
bul.php sayfasında bulursun daha sonra
ahmet-senturk.html adresine yönlendirisin. tabii içerik ahmet şentürk'ten gelen sonuçları gösterecek.
Eğer istersen geçici sayfada aranan kelimeleri session'a atayabilir ve sonradan url üzerinden gelen kelimeler yerine session'dan aldığın kelimelere göre arama ve gösterim yapabilirsin. - 14-07-2008, 13:22:06Malesef abicim ben onları link olarak atıyorum direk yani menü kullanıyorum siteadi.com/ahmet-senturk.html bu anasayfada link olarak duracak ve kullanıcılar ona tıkladığında içinde arayıp ekrana yansıtacak yani arama yapıyormuş gibi durmayacak. Olabilecek sadece 2 şeçenek kalıyor.
1. .htaccess ile türkçe karakterleri çevirmek ve o şekilde yansıtmak ki o zaman bilmiyorum yine arandığında bulurmu.
2. Yada diğer bir seçenek Hem title hemde url olarak eklemek ve title'den arattırıp link'e yazdırmak - 14-07-2008, 14:48:24/ara.php?=kelime=Arama Özelliği
/bul.php?kelime=arama-ozelligi
<?php //bul.php include 'mysql.php'; $kelime = $_GET['kelime']; $sonuc = mysql_query("Select aranacak_kelime From seo_etiket where kelime='$kelime' limit 1"); $satir = mysql_fetch_assoc($sonuc); $aranacak_kelime = $satir[aranacak_kelime]; echo 'Bulunan içerikler<br>'; $sonuc = mysql_query("Select * From icerik_tablom where isim LIKE '%$aranacak_kelime%'"); while($satir = mysql_fetcih_assoc($sonuc)); echo '<a href="icerik.php?id='.$satir[id].'">'.$satir[isim].'</a><br>'; } ?>Phpmyadmin de seo_etiket diye bir tablo oluşturacaksın. Arama yaptırdığında aranılan kelimenin TR karakterlerden süzülmüş halini ve gerçek arama kelimesini bu tabloya göndereceksin.
Arama yaparkende yukarıdaki kodu kullanacaksın. - 14-07-2008, 16:10:45Sen sadece arama demişsin.
Eğer konularıda;
yapmak istiyorsan. Mantık şu;Alıntı
Eklerken;
<?php function SeoLink($text){ $tr = array('ş','Ş','ı','İ','ğ','Ğ','ü','Ü','ö','Ö','Ç','ç'); $eng = array('s','S','i','I','g','G','u','U','o','O','C','c'); $text = str_replace($tr,$eng,$text); $text = eregi_replace('[^0-9A-Za-z]',"-",$text); $text = preg_replace("@--*@","-",$text); return strtolower($text); } mysql_query("Insert Into icerik_tablom (seo_id, isim, aciklama, kategori) Values ('".SeoLink($isim)."', '$isim', '$aciklama', '$kategori')"); ?>Veriyi çağırırken;
<?php //icerik.php?id=seo-url-nasil-yapilir $seo_id = $_GET[id]; mysql_query("Select * From icerik_tablom where seo_id = '$seo_id'"); ?>Tek farkı ID sayı olmayacak ID kelime olacak. - 14-07-2008, 17:17:46Tşk ederim ErsaT O kadar kod yazdın o kadar emek sarfettin.
unigs.org/templates url'leri yapmıştım ama türkçe karakter aramalarında sorun olduğundan dolayı biraz kafam karışmıştı bende hepsini ayrı ayrı yazdım o sorunuda giderdim bi kaç gündür bu script için uğraşıyordum. Çok az şeyi kaldı çok saol.
