Archive for the ‘Web Programlama’ Category

Sitelerin vazgeçilmezlerinden birisi olan site haritası oluşturmak gerçekten php ile çok basit bir işlemdir. Özellikle spam siteler yapıyorsanız ve kısa sürede hızlı indexleme ve hit istiyorsanız vazgeçilmez bir olaydır.  Sitemap oluşturan çok ve güzel programlar vardır fakat bunlar her seferinde yenilenmek istediğinden ben pek önermiyorum. O yüzden yazacağınız 3-5 satır kodla bu işi halledersiniz ve Google WebmasterTools‘a bir kere göndermeniz size yetecektir. Şimdi gelelim bu işi yapan kodlarımızı yazmaya.

<?php
include_once(”ayarlar.php”);
// veritabanı baglantısını yapıyoruz

header(’Content-type: text/xml’); // xml dosyası :)

echo “<?xml version=\”1.0\” encoding=\”ISO-8859-9\” ?>\n”;
echo “<urlset xmlns=\”http://www.google.com/schemas/sitemap/0.84\” xmlns:xsi=\”http://www.w3.org/2001/XMLSchema-instance\” xsi:schemaLocation=\”http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/sitemap.xsd\”>”;

// ana linkler basitçe :) fark amaçlı
$xml_ciktisi .= “\n<url>\n<loc>http://www.siteurl.com</loc>\n<changefreq>daily</changefreq>\n<priority>1.00</priority>\n</url>”;

// kategorilerin çıktısı

$result = @mysql_query(”select id, isim from veritablosu”); // tablodan çekioruz arttırılabilir

while (list($id, $isim) = @mysql_fetch_row($result))
{
$xml_ciktisi .= “\n<url>\n<loc>http://www.siteadresi.com/veritablosuurl&id=$id</loc>\n<changefreq>daily</changefreq>\n<priority>0.80</priority>\n</url>”;
};

echo $xml_ciktisi .”\n</urlset>”;

?>

Hyperlinkleriniz varsa artık onu kendiniz sisteminize göre uyarlayacaksınız. Burda unutmamanız gereken tek birşey var Google sitemaplarda maximum 50 bin url ister :) Bu sınırı aşmayın ve hyperlink yaparken mutlaka karakterleri süzün ( < ve > önemlidir).

.htaccess dosyanıza birde

ReWriteRule ^sitemap.xml sitemap.php

yazarsanız direk xml linki yaparsınız. (http://www.site.com/sitemap.xml)

Bu videoda görüntülü phpde basitçe echo kullanımını anlatmaya çalıştım. Özel istek üzerine hazırlamış bulunmaktayım. Ses sanırım yine kötü ama idare edeceğinizi ümit ediyorum.

Videoyu tam ekran izlemek için video yüklendikten sonra video üzerine çift tıklayınız. (Yoksa izleme güzel olmuyor :) )

Video Süresi : 5:58 Dk

Video Boyutu : 3.35 Mb

Read the rest of this entry »

Register globals php4.2.0 ve üstü sürümlerde kapalı, degeri off olarak gelir. Register globalsin açık ve programlama hatası olması durumunda uygulamalarınızda ciddi açıklar bulunmasına neden olur. Kısaca söylemek gerekirse register globalsin açık yani on olması durumunda uygulamanızda değişkenleri alırken $_GET ya da $_POST kullanmanıza gerek yoktur. Ee güzel bunu kullanmasak daha iyi olur, fazla kod yazmaktan kurtulmuş oluruz denebilir fakat eğer uygulamanıza güveniyorsanız bunu diyebilirsiniz. Ama küçük kod hatalarından dolayı size büyük kayıplar verdirebilir. Peki nasıl olacak?

<?php
if(fonsiyonumuz()){
$degiskenimiz = true;
}

if($degiskenimiz){
include(“adminsayfamiz.php”);
}
?>

Örnek de olduğu gibi basit bir kod yazdığımızı varsayalım. Ziyaretçi sayfa.php?degiskenimiz=1 sayfa.php?degiskenimiz=2 gibi herhangi birşey yazdığında bizim admin sayfamıza erişmiş olacaktır. Eğer register globals off olsaydı bu durum böyle olmazdı.

Read the rest of this entry »

Bir siteniz var. Hitiniz çok yüksek. Sunucunuz iyi değil veya yetmiyor. O zaman imdadınıza cache yetişecektir.  Cache ile (adından da anlaşılacağı üzere) sisteminizde sayfaları önceden kaydedip, gelen ziyaretçilere kaydedilmiş sayfayı göstererek, mysql sorgu, cpu kullanımınızı azaltabilirsiniz. Bu işlem php ile sanıldığı kadar zor değildir. Bu işlemi kendi yöntemimle değil, internette okuduğum bir makelenin kodlarıyla sizlere anlatmaya çalışacağım. (Benimki biraz karışık :) )

  1. <?
  2. $filename = "%%-".md5($_SERVER['REQUEST_URI'])."-%%.html";
  3. $cachefile = "cache/".$filename;
  4. $cachetime = 3 * 60 * 60; // Cache Süresi
  5. if (file_exists($cachefile))
  6. {
  7. if(time() - $cachetime < filemtime($cachefile))
  8. {
  9. readfile($cachefile);
  10. exit;
  11. }
  12. else
  13. {
  14. unlink($cachefile);
  15. }
  16. }
  17. ob_start();
  18. ?>

Read the rest of this entry »

Bir çok web sitesinde görürüz. Bir form alanı olur ve form alanına tıkladığımızda input alanında olan tüm yazıları seçeriz. Bu videoda sizlere bu konu hakkında bilgi vermeye çalıştım. Umarım başarılı olabilmişimdir.

Video Süresi : 5:12 Dk

Video Boyutu : 2,68 Mb

Read the rest of this entry »

Bu videoda görüntülü php ile mysql veritabanında veri kaydetme ve veri listeleme işlemini sizlerle paylaşıyorum. Sanırım heyecanım yatıştı ve güzel bir video hazırladım. :)

Videoyu tam ekran izlemek için video yüklendikten sonra video üzerine çift tıklayınız. (Yoksa izleme güzel olmuyor :) )

Video Süresi : 6:59 Dk

Video Boyutu : 5.31 Mb

Listeleme seçenekleri hakkında da bilgi verdim. Sıraya göre artan, azalan, isme göre artan, azalan ve rastgele listeleme seçeneklerini göstermeye çalıştım. Umarım başarılı olabilmişimdir.

Read the rest of this entry »

Yine bir site için hazırladığım görüntülü php ile mysql veritabanında veri silme işlemini sizlerle paylaşıyorum. Bazı yerlerde heyecandan ne diyeceğimi şaşırdığımdan yanlış cümleler kurmuş olabilirim.

Videoyu tam ekran izlemek için video yüklendikten sonra video üzerine çift tıklayınız. (Yoksa izleme güzel olmuyor :) )

Video Süresi : 5:04 Dk

Video Boyutu : 3,16 Mb

Read the rest of this entry »

Bir site için hazırladığım görüntülü php ile mysql veritabanında veri güncelleme işlemini sizlerle paylaşıyorum. Heyacanlandığım bazı yerlerde ne diyeceğimi şaşırsamda iyi olduğunu düşünüyorum.

Videoyu tam ekran izlemek için video yüklendikten sonra video üzerine çift tıklayınız. (Yoksa izleme güzel olmuyor :) )

Video Süresi : 9:10 Dk

Video Boyutu : 6,08 Mb

Read the rest of this entry »

Üyelik, form mail uygulamarında sıklıkla karşımıza çıkan güvenlik kodu ve onayını basitçe bu yazımda sizlere anlatmaya çalışacağım. Öncelikle güvenlik kodu, başka bir değişle rastgele kodu ele alalım. Php ile rastgele kod üretmek basit bir işlem olmasıyla beraber tamamen coderin hayal gücüne bağlıdır. Rastgele kod üretmek için o kadar çok alternatif kod yazılabilir ki şuan hayal edemiyorum. :) Bir örnekle rastgele kodlarımızı üretelim.

  1.  
    1. <?php
    2. function koduret($karakter = 8){ // eger karakter değişkeni boş gelirse otomatik 8 karakterli kod üretecektir
    3. $sha = sha1(rand(0,999)); // rastgele 0 ile 999 arasında sayı seçip sha1 fonksiyonu ile şifreliyoruz
    4. $kod = substr($sha, 10, $karakter); // üretilen koddan 10 ile istediğimiz karakter aralığını çekiyoruz
    5. return $kod;
    6. } // fonksiyonu kapattık
    7. // kullanımı
    8. $rastgelekod = koduret(6); // 6 karakterli kod ürettik
    9. ?>

Read the rest of this entry »

Ajax çalışırken kendi çapımda yaptığım ajax ile sayı tahmin oyununu sizlerle paylaşacağım. Bu tür ufak uygulamaların büyük uygulamara geçmeden önce çok faydalı olduğunu düşünüyorum. Bu işlemin bu kadar basit olabileceğine inanamayacaksınız (Tabi kodları görünce :) ). Oyunumuzda eBurhan’ın yazdığı eyceks.js kütüphanesini kullanıyoruz. Dosya içerisinde herşey açıklamalı olarak bulunmaktadır. oyun.php sayfamız oynumuzda form alanının bulunduğu, sayi.php ise oyun.php’den gelen verinin değerlendirildiği sayfamızdır. Kodları yazarken yeterince açık olduğumu düşünüyorum. Uygulamayı ;

Buradan test edebilir, Buradan indirebiliriz.

Eburhan’a eyceks.js kütüphanesi için teşekkür ediyorum.