10 - E Madem Yok Ben Açayım Butonunu Kaldırmak

/ Category: , ,

Sözlükte mevcut olmayan bir konu başlığını açarken diğer gelişmiş sözlüklerde olmayan bir ara panel gelir. Bu panelde istenen başlığın olmadığını belirten bir yazı ve E Madem Yok Ben Açayım mevcuttur. Bu aslında kullanıcılar için çok da hoş olmayan bir sunuş. Bu gereksiz paneli ortadan kaldırıp direkt olarak entry giriş panelini getirmek ve mümkünse başlık açarken benzerleri daha önce açılmış mı diye kontrol etmek gerekir. Burada bununla ilgili bir örnek anlatacağım.

9 - Yazarların Şifre Değiştirmesi

/ Category: , , , , , ,

Scriptte bir yazarın şifresini değiştirebilmesi ilk başta mümkün olmuyor. Şifresini değiştirmek isteyen bir yazar "Zekimisin yani ? :)" cevabını alıyor. Bunun için şifre değiştirme işlemini adım adım incelemek lazım.

Kontrol paneli (Tebdil-i Mekan butonu) inc/cp.php üzerinden çalışıyor. Burada şifre değiştirme formunu görürsünüz. Eski şifrenizi ve 2 defa yeni şifrenizi girmenizi istiyor. Ondan sonra da bu formdaki bilgileri inc/passwd.php 'ye gönderiyor.

inc/passwd.php dosyasında gelen verilerin kontrolleri yapılıyor. İşte burada $_SERVER["HTTP_REFERER"]; kodu ile o anki sayfaya hangi sayfadan gelindiğine bakılıyor. Bu aslında inc/passwd.php dosyasının adresini direkt olarak yazıp da siteye girilmesin diye düşünülmüş bir güvenlik. Buradaki kodların tamamı şu şekilde:

$site = $_SERVER["HTTP_REFERER"];
$site = explode("/", $site);
$site = $site[2];
if ($site != "www.terimler.net" and $site != "Terimler.net") {
echo "Zekimisin yani ? :)";
die;
}

Burada bir önceki refere sayfanın terimler.net 'e ait olması istenmiş. Yani gelinen adres değeri http://www.terimler.net/sozluk.php?process=cp gibi bir adres ise buradaki bilgileri "/" ile parçalayıp oluşan parçaların ikincisinin terimler.net ifadesini içerip içermediğine bakılmış. Burada tamamen PHP fonksiyonlarını bilmeniz gerekmekte. PHP biliyorsanız zaten demek istediğim şeyi anlamışsınızdır. Bilmiyorsanız kodları hiç bozmadan kendi web site adınızı terimler.net olacak yere yazın. Yani kendi site adınızın doğruluğunu kontrol etmiş olun.

10 - Bkz İçerisindeki Özel Karakterler

/ Category: , , , ,

Normalde sözlüklerde başlık karakterleri harf ve rakamlar olmalıdır. Nokta, virgül, soru işareti.. vb işaretler başlıkta yer almaz. Bu sebeple de başlıklar ve boş bkz 'lar her zaman özel karakter taramasından geçirilir. (bkz: sözlüklerde başlık formatı)

Bkz içerisinde varolan bir nokta karakteri, başlığa dönüşüm sırasında yok edilir ve yeri kapatılır. Bu da bazı durumlarda kötü bir başlık yönlendirmesi olarak gözükebilir. Örneğin (bkz: lafmacun.org) başlığına tıkladığınızda lafmacunorg başlığına gitmek isteyecek. Oysaki 1 boşluk bıraksaydı daha iyi bir sonuç elde edilirdi. Bunun için inc/word.php dosyasına girip dosyanın hemen başındaki kodlardan hangi karakterde ne yaptırmak istiyorsanız düzenleyebilirsiniz. Mesela nokta karakteri için bir boşluk oluşmasını sağlayalım.

$q = ereg_replace("\."," ",$q);

8 - Sözlük Yazım Kuralları Diye Bir Konu Yok ki?

/ Category: , , ,


Boş durumdaki sözlüğe giriş yapıldığında ilk ortaya çıkan mesaj "sozluk yazim kurallari diye bir konu yok ki?" mesajıdır ve aslında çok da hoşlanılmayan, hata sayılabilecek bir mesajdır. Diyelim ki, siz kendi sözlüğünüzde bu başlığı açmak istemiyorsunuz. Bunun yerine halihazırda varolan bir konu başlığına yönlendirme istiyorsunuz. Bunu yapmak için inc/rand.php dosyasını açın. Aşağıdaki kodu bulun.

header ("Location: sozluk.php?process=word&q=sozluk+yazim+kurallari");

Buradaki otomatik yönlendirme linkini düzenleyerek istediğiniz bir başlığı sözlük girişinde gösterebilirsiniz.