Sitemizde görmüş olduğunuz phpsorunu.com-2011 Wordpress Teması sadece ve sadece 25 TL'dir. Ayrıntılı bilgi için tıklayınız.

Yazılar...

20
Haz
2010

Merhaba arkadaşlar bu yazımızda herhangi bir link, button veya normal yazının üzerine gelince olan değişiklikler üzerinde duracağız ve bununla ilgili bir örnek uygulama yapacağız.

Php server üzerinde çalışır sayfa yenilenmeden kendi başına verileri getiremez. Bu yüzden dinamik çalışan JavaScript vardır. JS dili kullanıcılara aktif olarak döner ve sayfaların daha hareketli olmasını sağlar. Kısaca bunlara değindikten sonra örnek uygulamamıza geçebiliriz.

Örnek:
Sayfamızda bir link olduğunu varsayalım ve bu link üzerine gelince bir değişme olmasını istiyoruz.
Diyelim…
Normal link iken resim1.jpg
Üzerine gelince ise resim2.jpg
çıksın böylece hareketliymiş gibi kullanıcılar algılasın. Kodlarımız tamamen bunun üzerine kurulu…

Kodlara başlamadan önce kodlarımızın olduğu sayfaların yanında resim1.jpg ve resim2.jpg lerimizi koyalım.

Aşağıda resimleri değiştiren esas işi gören JavaScript fonksiyonlarımız bulunmaktadır.

<script language="javascript">
function resim_over()
{
document.resim.src="resim2.jpg";
}
function resim_out()
{
document.resim.src="resim1.jpg";
}
</script>

Çalışma şekli şu şekildedir.
Üzerine gelince normalde kaynağı (src) resim1.jpg olanı resim2.jpg yaparak resimi değiştirir.
Document : Javascriptte belgeyi ifade eder…
Name ile de resim adı geldiği için sonrasında resim yazılır.
Ve Özelliği olan src belirtilir.

20
Haz
2010

Bu anlatımı daha iyi anlayabilmek için biraz HTML DOM bilgisi gerekiyor.

Amaç:
Veri çekilmesi gereken adreste biraz dolaşıp bize gerekli alt sayfalardaki gerekli verileri çekmek.

Veri çekilmesi istenen adres: http://www.phpsorunu.com/2010/06

Gerekli olan kütüphane veya classlar :
PHP Simple HTML DOM Parser

http://simplehtmldom.sourceforge.net/index.htm

Anlatım :
Çekilmek istenen veri adresteki sayfadaki wordpress konuları.
sitenin HTML biçimine göre alınmak istenen veri belirleniyor ve buna göre yazılıyor. başka bir sitenin başka bir DOM yapısı olacağı için çekmek istediğiniz verilere göre değiştirmeniz gerekiyor.

Bot nasıl çalışıyor.

1. Verilen adrese gidiyor. ve POST classlı divlerin içindeki adresleri buluyor.
2. Daha sonra bulunan adresleri ziyaret edip konu başlığı ve konu içeriğini alıyor.

Geri kalan açıklamalar Aşağıdaki kodun içindedir.
Anlatamadığım bir yer olursa lütfen yorumlarınız ile belirtiniz.

<?
include 'simple_html_dom.php'; // gerekli  class include edildi.
error_reporting(1);

$html = file_get_html('http://www.phpsorunu.com/2010/06/'); // html verisi çekilecek adres

foreach($html->find('div[class^="post"] h2 a') as $e){
// yukarıda her bir post class ı olan div in içinde
// h2 tagını arıyoruz ve bunun içindeki 'a'  linkin href (yani referans adresini alıyoruz)

    $link = $e->href; //linkimizi bulduk

    $ic_sayfa = file_get_html($link); //botumuzu oraya gonderiyoruz

    foreach ($ic_sayfa->find('div[class^="post"]') as $ic) {
        //içerik yani konu sayfamızda gene post class lı dıvı buluyoruz
        //buldugumuz divin içindeki h1 tagının içindeki veri bizim başlığımız oluyor ve bunu başlık

        $baslik = $ic ->find ('h1',0) -> plaintext;
        $konular[]['baslik'] = $baslik; // konular dizimize (array) baslık olarak kayıt ediyoruz
        $icerik = '';

        // wordpresste ki br yerine p tagını kullandığı için (BU TAGLAR ÇEKECEĞİMİZ VERİ TÜRÜNE GÖRE DEĞİŞİR) aşağıda p taglarının içeriğini almamız gerekiyor her p tagı için döngümüzü yazıyoruz
                        foreach ($ic -> find('p') as $icerikp){
            if ($icerikp -> hasAttribute('class')){
                // bize postmeta data gibi class ı p tagları gerekmediği için  gerekli kontrolleri yapıyoruz
            }
            else {
                 $icerik.=  $icerikp->outertext; }
            // classsız p taglarının outertext ile <p>içindeki yazı </p> çeklinde içerik değişkenimize kayıt ediyoruz.

                                }
                                //bütün p taglarımızı alıncayda konular dizimizin icine icerik bolumune atiyoruz.
                                $konular[]['icerik'] = $icerik;

    }
  }

// sira geldi ekranda gostertmesi veya istediginiz işlemin yapılmasına.

  foreach  ($konular as $konu ){

       echo '<div style="border: 3px solid navy; margin-top:10px;">';
       echo '<h2>'.$konu['baslik'].'</h2>';
           echo '<div>'.$konu['icerik'].'</div>';
           echo '</div>';
   }
 ?>

Herkese başarılar…

20
Haz
2010

Merhaba arkadaşlar bu yazımızda en iyilerimizin bile en çok karşılaştığı AJAX uygulamalarında ki Türkçe karakterler yaşadığımız sorunlara çözümler aramaya çalışacağız.
Genelde iki kısımda sorunlar yaşanmaktadır. Bunlardan

1-Html ile AJAX kullanırken yaşanan sorunlar
2-PHP ile AJAX kullanırken yaşanan sorunlardır.

İlk olarak sorunumuz HTML ile nasıl çözeriz ona bakalım.
Ajax ile yapılan uygulamalarda çıktı ya da veri alış-verişi, text/xml içerik türüne göre gerçekleşmektedir.
Bu veri-, alış-veriş biçiminde varsayılan karakter tip tanımlaması ISO-8859-1 veya UTF-8 seçildiğinde düzgün çalışmaktadır.

Eğer sadece herhangi bir text ya da HTML içerikli bir sayfadan bilgi alınacaksa (PHP değil) çözüm bu sayfaların kayıt biçimini UTF-8 yaparak aşabiliriz.
Örneğin:
Farklı kaydet penceresinde iken kodlama türünü utf-8 seçtikten sonra sayfa kaydedilirse AJAX ile çalışmalarınızda türkçe karekter sorunu yaşamamış oluruz.

İkinci olarak sorunumuz PHP ile nasıl çözeriz ona bakalım.

20
Haz
2010

Eğer ki php ve veritabanını kullanarak bir scriptimiz var ve Türkçe kararterler de kaydederken ve çekerken sorunlar yaşıyorsak neler yapmamız gerekir onların üzerinde duracağız.
Türkçe desteği olan bir veritabanımız var ise veritabanımızın karakter setini phpmyadmin kısmından latin5_turkis_ci olarak ayarlamalıyız.

Sorun hala devam ediyorsa tablolarında kendine göre kararter seti olur bunlarıda işlemler kısmından aynı şekilde latin5_turkis_ci olarak ayarlamalıyız.

Sorunla hala devam ediyorsa daha bunun için çözümler aramaya devam etmeliyiz. Ve aşağıdaki kodları ilgili sayfalara eklemeliyiz.

Sayfamızın en başına

<?php
header ("Content-Type: text/html; charset=iso-8859-9");
?>

kodunu eklemeliyiz.

Sorunumuz hala devam ediyorsa hotsa bağlanırken baglanti.php veya hangi sayfayı kullanıyorsanız siz o bağlantının altına yani veritabanına bağlandıktan sonraki hemen alt satıra aşağıdaki kodlardan birini ekleyerek deneyiniz.

Bu kodu eklediğiniz de büyük ihtimallere sorun düzelmiş olacaktır.

mysql_query("SET NAMES 'latin5'");

İkinci kod…

mysql_query("SET CHARACTER SET latin5");

Üçüncü kod…

mysql_query("SET COLLATION_CONNECTION = 'latin5_turkish_ci'");

Bu kodlarımızı eklediğimizde ve phpmyadmin kısımından da gerekli yerleri değiştirdiğimizde büyük ihtimal ile sorunlarınız çözülmüş olacaktır.

Sorunun çözüldüğünden emin olmak için veritabanına yeni veriler girerek kontrol etmeniz en sağlıklı olacaktır.

Eğer ki sorunlarıza isterseniz utf-8 karakter setlerini de kullanarak deneyebilirsiniz. Bütün heryer utf-8 olursa sorunlarınıza bu şekilde bir çözüm de olabilir. Dediğim gibi bu sorunun tek bir çözümü yoktur. Veritabanı ve sizin kodlarınız uyum içinde çalışmasına bağlıdır.

20
Haz
2010

Merhaba arkadaşlar biz webmasterlar olarak en çok karşılaştığımız sorunlar sitelerimizdeki Türkçe karakterlerin sorunlu olarak gözükmesidir. Bunların birden fazla sebebi olabiliyor ve bizde onlara göre çözümler üretmeye çalışacağız.
Arkaşdalar ilk çözüm olarak saymamızın meta kısmında dilimizin Türkçe desteği olan iso-8859-9 ayarını yapmalıyız. Aşağıdaki kodlar sayfanın en üstündeki tagları arasına yazılacaktır.

<meta http-equiv="Content-Type" content="text/HTML; charset= iso-8859-9" />

Eğer sizin sayfalarınız İngilizce düzene göre ise siz bu kodu şu şekilde yazıp da deneyebilirsiniz.

<meta http-equiv="Content-Type" content="text/HTML; charset=utf-8" />

Arkadaşlar bu kodları yazarken dikkat etmeniz gereken nokta karakter setini değiştirince düzenleyicimizde de aynı zamanlı olarak Türkçe karakterler html kodlarına dönebilir. Bu yüzden onları öyle bir sorunla karşılarsanız deneme olarak birkaç karakteri düzeltip tarayıcınızda sorun düzelmiş ise o yöntem sizin çözümünüzdür demektir. Her zaman bu gözden kaçan bir noktadır. Lütfen bu konuya dikkat edelim.

19
Haz
2010

Merhaba arkadaşlar bu dersimizde sitelerin genelinde birden fazla logo veya resim kullanılmakta. Bunun üzerine bir kaç soru geldi ve bende bu dersi yazmaya karar verdim.

$siteismi = "phpsorunu.com"; // Logonun üstüne geldiğinizde çıkmasını istediğiniz yazı
$format = "jpg"; // Resim formatı olmalı... (gif, jpg, png vs.)
$sayi = rand (1,10); // Kaç tane logonuz varsa 10 yerine sayıyı yazın
$logo = "<img src=\"logo".$sayi.".".$format."\" alt=\"".$siteismi."\"/>";
19
Haz
2010

Merhaba arkadaşlar bu dersimizde PHP ile ayrıntılı olarak nasıl bir mail gönderriz onun üzerinde duracağız. Yaptığım kodlar çalışmaktadır. İsterseniz direkt olarak sizin için gerekli yerleri değiştirerek kullanabilirsiniz.

PHP de önemli olan işlevi yapan…
mail()
fonksiyonudur.

Fonksiyonumuz 4 parametre alır
mail( gidecekadres, baslik,icreik,karakterseti);
karakterseti isteğe baglıdır.

19
Haz
2010

Evet arkadaşlar sizlerde bilirsiniz ki; SQL’ de tarih formatı YYYY-MM-DD şeklindedir. Yani 2010-06-10 gibidir. Peki elinizde bir form ve tarih alanı var. Bu input alanı değerini DD-MM-YYYY (10-06-2010) şeklinde tutup veritabanına yukarıdaki standartta kaydetmek istiyorsunuz. Bunun için aşağıda yazmış olduğum fonksiyonu kullanmanız yeterli olacaktır.

explode() komutu kullanımları zorunlu olarak 2 değişken alır istersek 3 değişkenli yani argumanlı olarak da kullanabiliriz.
1.explode(ayirac,veri)
2.explode(ayirac,ver,kac tane ayırcak sayısı)
Bu şekilde kullanımları mevcuttur.
Ayırılanlar bir dizide tutulur.

Örnek uygulama:

19
Haz
2010

Bu dersimizde PHP ile dosyalar var mı yok mu diye nasıl kontrol ederiz. Bunu bize php de hangi fonsiyon sağlar ona bakacağız.

PHP’de dosya varmı diye soran fonksiyon

file_exits("dosya_adi.uzantisi")

Bu fonsiyon eğer dosya var ise true yoksa false değer döndürür.

Örnek kullanım:

if ( file_exits ( "phpsorunu.txt" ) )
echo "Dosya vardır!";
else
echo  "Dosya yoktur!";

Gördüğünüz gibi çok küçük fakat işlevsel bir fonksiyon.
Herkese başarılar….

Arama Bölümü

PhpSorunu.Com Widget

Yazılardan Haberdar Olun

Kategoriler

Badigardımız

DMCA.com © Tüm Hakları Saklıdır.
Bu websitesi DMCA Protection ile lisanslanmıştır. Yazılar kaynak belirtilmeden kullanılamaz.
yok herhangi bir şey canın sag olsun
67 kişi takipte! Sen de takip et.