ASP.NET C# C/C++ Genel HTML/CSS Java JS/Ajax PHP XML Forum

.htaccess ile WWW'yu Kaldırın

.htaccess ile WWW\'yu Kaldırın

Merhaba Arkadaşlar,
Bugün sizlere URL'lerinizden "www" yani "world wide web" ibaresini nasıl kaldırabileceğinizi anlatıyorum.

Adreslerinizden "www" ibaresini kaldırmanızın faydaları:

  • Daha kısa linkler
  • Google tarafından kopya içerik gibi görünmenizi engeller
  • Sayfalarınızda çok fazla link varsa daha az trafik

.htaccess dosyası aracılığıyla rahatlıkla WWW ibaresini kaldırabiliyorsunuz. Yani web sayfanıza http://www.trkodlama.com şeklinde erişen biri otomatik olarak kendini http://trkodlama.com'da bulacaktır. Aynı şekilde tam tersi de mümkün. http://trkodlama.com şeklinde giren birisi kendini http://www.trkodlama.com adresinde bulacaktır. Kaldı ki TR Kodlama'da "www" ibaresi zorunlu görünmektedir.

Şimdi önce "www" ibaresini nasıl kaldıracağımızı gösterelim:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^trkodlama.com$ [NC]
RewriteRule ^(.*)$ http://trkodlama.com/$1 [L,R=301]

Şimdi tam tersi olan her linkimize "www" ibaresini ekleyecek .htaccess kodunu verelim:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.trkodlama.com$ [NC]
RewriteRule ^(.*)$ http://www.trkodlama.com/$1 [L,R=301]

Umarım işinize yarar, herkese kolay gelsin,




PHP ile Alan Adını Alma

PHP ile Alan Adını Alma

Merhaba arkadaşlar,
URL'lerin sadece alan adlarını almak istediğiniz zamanlar olabilir. Fakat bazı durumlarda subdomain.domain.tld.tld yapısındaki URL'lerden domain kısmını çekmek zorlaşır.. Aslında zor değildir fakat o yapıyı bulmak zor olabilir Çünkü girilen URL'ler aşağıdaki formatlarda olabilir:

  • http://www.trkodlama.com
  • http://www.trkodlama.com.tr
  • http://trkodlama.com
  • http://trkodlama.com.tr
  • http://sub.trkodlama.com
  • http://sub.trkodlama.com.tr

Hal böyle olunca işin içinden çıkılmaz bir hal alır.. If else'ler havada uçuşur. Bunun için sizlerle basit ve kullanışlı bir fonksiyon paylaşıyorum:

function domain($url){
     $tld2 = array('wattle.id.au','emu.id.au','csiro.au','name.tr','conf.au','info.tr','info.au','gov.au','k12.tr','lel.br','ltd.uk','mat.br','jor.br','med.br','net.hk','net.eg','net.cn','net.br','net.au','mus.br','mil.tr','mil.br','net.lu','inf.br','fnd.br','fot.br','fst.br','g12.br','gb.com','gb.net','gen.tr','ggf.br','gob.mx','gov.br','gov.cn','gov.hk','gov.tr','idv.tw','imb.br','ind.br','far.br','net.mx','se.com','rec.br','qsl.br','psi.br','psc.br','pro.br','ppg.br','pol.tr','se.net','slg.br','vet.br','uk.net','uk.com','tur.br','trd.br','tmp.br','tel.tr','srv.br','plc.uk','org.uk','ntr.br','not.br','nom.br','no.com','net.uk','net.tw','net.tr','net.ru','odo.br','oop.br','org.tw','org.tr','org.ru','org.lu','org.hk','org.cn','org.br','org.au','web.tr','eun.eg','zlg.br','cng.br','com.eg','bio.br','agr.br','biz.tr','cnt.br','art.br','com.hk','adv.br','cim.br','com.mx','arq.br','com.ru','com.tr','bmd.br','com.tw','adm.br','ecn.br','edu.br','etc.br','eng.br','esp.br','com.au','com.br','ato.br','com.cn','eti.br','edu.au','bel.tr','edu.tr','asn.au','jl.cn','mo.cn','sh.cn','nm.cn','js.cn','jx.cn','am.br','sc.cn','sn.cn','me.uk','co.jp','ne.jp','sx.cn','ln.cn','co.uk','co.at','sd.cn','tj.cn','cq.cn','qh.cn','gs.cn','gr.jp','dr.tr','ac.jp','hb.cn','ac.cn','gd.cn','pp.ru','xj.cn','xz.cn','yn.cn','av.tr','fm.br','fj.cn','zj.cn','gx.cn','gz.cn','ha.cn','ah.cn','nx.cn','tv.br','tw.cn','bj.cn','id.au','or.at','hn.cn','ad.jp','hl.cn','hk.cn','ac.uk','hi.cn','he.cn','or.jp','name','info','aero','edu','org','int','biz','mil','net','com','ua','st','tw','sg','uk','au','za','yu','ws','at','us','vg','as','va','tv','pt','si','sk','ag','sm','ca','su','al','am','tc','th','tm','ro','tn','to','ru','se','sh','eu','dk','ie','il','de','cz','cy','cx','is','it','jp','ke','kr','la','hu','hm','hk','fi','fj','fo','fr','es','gb','eg','ge','ee','gl','ac','gr','gs','li','lk','cd','nl','no','cc','by','br','nu','nz','bg','be','ba','az','pk','ch','ck','cl','lt','lu','lv','ma','mc','md','mk','mn','ms','mt','mx','dz','cn','pl');
     $url_bolumleri = parse_url($url);
     $Domain = $url_bolumleri["host"];
     $sayac = 1;
     do {
         $tmp_tld = substr($Domain, -strlen(".".$tld2[$sayac]));
         if ($tmp_tld == ".".$tld2[$sayac]) {
             $tld = ltrim($tld2[$sayac], ".");
             $DomainL = substr($Domain, 0, -(strlen($tld) + 1));
             if (strpos($DomainL, ".") === false) {
                 $subDomain = "";
                 $sonDomain = $DomainL;
             } else {
                 $Domain_bolumleri = explode(".", $DomainL);
                 $sonDomain = array_pop($Domain_bolumleri);
             }         return $sonDomain;
         }
         $sayac++;
     } while ($sayac < count($tld2));
}

Kullanımı da oldukça basittir:

echo domain("http://subdomain.trkodlama.com.tr"); // Ekran çıktısı: trkodlama

Umarım faydalı olmuştur, kolay gelsin





mysql_fetch_array/assoc/row Farkı

mysql_fetch_array/assoc/row Farkı

Merhaba arkadaşlar,
Bugünkü makalemde basit, kısa ama çok merak edilen bir makale. Bugün sizlere mysql_fetch_array, mysql_fetch_assoc ve mysql_fetch_row fonksiyonlarının arasındaki farkı açıklıyorum.

Farkları değişkenleri dizide tutuş yöntemleridir, şöyleki mysql_fetch_array fonksiyonunun kullanımı ve sonucu:

$sorgu=mysql_fetch_array(mysql_query("SELECT * FROM something"));
/*
$sorgu[0]=$sorgu["ilksutun"];
$sorgu[1]=$sorgu["ikincisutun"];
.
.
$sorgu[n]=$sorgu["nincisutun"];
*/

Yani diziye hem normal rakamsal değer veriyor hemde sütun adını veriyor.
mysql_fetch_rows fonksiyonunda sadece rakamsal değerleri verir. Yani $sorgu[0] fonksiyonu cevap verir fakat $sorgu["ilksutun"] boş gelirdi..
mysql_fetch_assoc fonksiyonunda ise değerleri sadece sütun adını kullanarak çekebilirsiniz. Yani $sorgu["ikincisutun"] değişkeni dolu gelir fakat $sorgu[1] tanımlanmamıştır bu nedenle boş gelecektir.
Farkı anlaşılır anlatabilmişimdir umarım arkadaşlar, herkese kolay gelsin,



Sıralanmış Kayıtlarınızın Id'sini Alma

Sıralanmış Kayıtlarınızın Id\'sini Alma

Merhaba arkadaşlar,
Bu mesajımda sıralanmış kayıtlarınızda jQuery ile işlem yaparken id'lerini nasıl alabileceğinizi anlatıyorum.. Şimdi şöyle bir tablonuz olsun:

<table>
<tr>
<td>Üye 1</td><td>Kayıt tarihi 1</td><td><a href="sil.php?id=1">Sil</td>
</tr>
<tr>
<td>Üye 2</td><td>Kayıt tarihi 2</td><td><a href="sil.php?id=2">Sil</td>
</tr>
</table>

Şimdi bu tablomuzu sil.php linkine göndermeyelimde jQuery $.get() metodu ile yani Ajax kullanarak silelim.. Fakat burda problem uye id'sini nasıl alacağız? Aşağıdaki kodda bunu nasıl yapabileceğinizi anlatıyorum:

<script>
 $(document).ready(function(){
  $(".uye-sil").click(function(){
   var idIlk = $(this).attr("id"); // tıkladığımız linkini id'sini alıyoruz
   var id = idIlk.replace("uye-", ""); // Burda id'yi aldık. "uye-n" şeklinde. Şimdi "uye-" kısmını siliyoruz ve id değişkenine atıyoruz.
   $.get("islem.php, "id="+id, function(data){
    // İşlemleri yapalım
   });
  });
 });
</script>

<table>
<tr>
<td>Üye 1</td><td>Kayıt tarihi 1</td><td><a href="#!sil/uye-1" id="uye-1" class="uye-sil">Sil</td>
</tr>
<tr>
<td>Üye 2</td><td>Kayıt tarihi 2</td><td><a href="#!sil/uye-2" id="uye-2" class="uye-sil">Sil</td>
</tr>
</table>

Umarım anlatabilmişimdir. Sorularınızı yorum şeklinde veya forumdan sorabilirsiniz.
Kolay gelsin, 



JavaScript'de PHP'deki Explode Fonksiyonu

JavaScript\'de PHP\'deki Explode Fonksiyonu

Merhaba arkadaşlar,
PHP'de explode() fonksiyonu sayesinde uzun yazılarımızı küçük parçalara ayırabiliyorduk. Şimdi önce explode() fonksiyonunun çalışmasını ve sonucuna bakalım sonra JavaScript ile bunu nasıl yapıyoruz onu anlatalım:

$uzun="TR Kodlama son zamanların en popüler içerik sitelerinden biri haline geldi";
$parcala=explode("", $uzun);

Bu kod çalıştırıldığı anda aşağıdaki dizi otomatik olarak oluşturulur ve $parcala değişkenine ait olur:

$uzun[0]="TR";
$uzun[1]="Kodlama";
$uzun[2]="son";
$uzun[3]="zamanların";
$uzun[4]="en";
$uzun[5]="popüler";
$uzun[6]="içerik";
$uzun[7]="sitelerinden";
$uzun[8]="biri";
$uzun[9]="haline";
$uzun[10]="geldi";

PHP'de çalışma mantığı bu şekildedir. Peki bunu JavaScript'te nasıl yapacağız? PHP'de explode() fonksiyonu varsa JavaScript'te de split() fonksiyonu var. Söz dizimi biraz farklı sadece o kadar.

var uzun="TR Kodlama son zamanların en popüler içerik sitelerinden biri haline geldi";
var parcala=uzun.split("");

Yine JavaScript'de parcala[0], parcala[1], ... şeklinde verilere ulaşılabilir.
Umarım faydalı olmuştur ve işinize yarar.. Kolay gelsin



MySQL ile İki Sütuna Göre Sıralama Yapmak

MySQL ile İki Sütuna Göre Sıralama Yapmak

Merhaba arkadaşlar,
Uzun bir süredir yazı yazamıyordum. İşlerimin ve okulumun yoğunluğu artık uç noktada. Bu nedenle vakit bulamıyordum.
Bugün sizlere MySQL veritabanınızda sıralama işlemleri yaparken iki sütunu baza alırken nasıl sıralama yapacağınızı anlatıyorum.
Öncelikle normal bir sıralama işlemi yapalım:

<?php
$query=mysql_fetch_array(mysql_query("SELECT sutun_adi FROM tablo_adi ORDER BY sutun_adi_1 ASC"));
?>

Bu şekilde çalıştırdığımızda PHP şu işlemi yapacaktır. tablo_adi tablosundan sutun_adi_1 sütunlarını küçükden büyüğe sıralayacaktır. Şimdi biz hem sütun_adi_1'e göre hem de sütun_adi_2'e göre bir sıralama yaptıralım:

<?php
$query=mysql_fetch_array(mysql_query("SELECT sutun_adi FROM tablo_adi ORDER BY sutun_adi_1, sutun_adi_2"));
?>

Şu anda önce sütun_adi_1'e göre sonra ise sutun_adi_2'ye göre sıralayıp size verecektir. Tabii ki sutun_adi_1 sıralamasının yerini değiştirmeden. Yani sutun_adi_1'de elde ettiğiniz grupları kendi içinde sutun_adi_2'ye göre sıralayacaktır. Şimdi biraz daha abartalım ve sutun_adi_1'i ASC olarak ve sutun_adi_2'yi DESC olarak sıralayalım:

<?php
$query=mysql_fetch_array(mysql_query("SELECT sutun_adi FROM tablo_adi ORDER BY sutun_adi_1 ASC, sutun_adi_2 DESC"));
?> 

Umarım faydalı olmuştur, herkese kolay gelsin,











RSSTwitter

En son yazılanlardan ilk senin haberin olsun


Valid HTML 5 Valid CSS!

Güncel Programlama Makaleleri by TR Kodlama © 2009 is licensed under a Creative Commons Alıntı-TicariOlmayan 3.0 Unported License.