Aspire
Koineks
  • 20-05-2008, 22:28:31
    #1
    1/2
    Merhaba arkadaşlar sitemin birinde out.php gibi bir php dosyası ile dış linklere yönlendirme sağlıyorum.
    Php dosyasının içeriği bu
    PHP- Kodu:
    <?php
    function urlmake($u) {
      
    htmlspecialchars($u);
      if(!
    preg_match("/[a-z]:\/\//si"$u)) $u "http://$u";
      return 
    $u;
    }
    $u2=urlmake($_REQUEST["url"]);
    ?>
    ve bu şekilde yönlendirmeyi sağlatıyorum.
    PHP- Kodu:
    array(
    'tag' => 'url',
    'type' => 'unparsed_equals',
    'before' => $user_info['is_guest'] ? $txt['no_view_links'] . "\n" '' $txt['no_view_view'] . '&nbsp;<a href="' $scripturl '?action=register">' $txt['no_view_register'] . '</a>&nbsp;' $txt['no_view_or'] . '&nbsp;<a href="' $scripturl '?action=login">' $txt['no_view_login'] . '</a><div style="visibility:hidden">' '<a href="http://www.siteadresi.com/out.php?url=$1" target="_blank">',
    'after' => $user_info['is_guest'] ?  '</div>' '</a>',
    'disallow_children' => array('email''ftp''url''iurl'),
    'disabled_after' => $user_info['is_guest'] ?  '' ' ($1)',
    ), 
    PHP- Kodu:
    <a href="http://www.siteadresi.com/out.php?url=$1" target="_blank"
    Bu şekil de yani ancak bu komut ile sitem dışına giden tüm linkler yönleniyor benim istediğim şu mesela sitem üzerinden Webmaster Forum ve Google sitelerine link verildiğinde bu fonksiyon işlemesin yönlendirme yapmasın direk olarak site açılısın diğerlerinde yönlendirme çalışsın site sayısı tabiki artabilir bunu nasıl yapabilirim yardımcı olacak arkadaşlara şimdiden teşekkürler.
    Bir ağaçtan bir milyon kibrit çıkar, bir kibrit bir milyon ağacı yakar.
  • Sponsor Reklam
  • 25-05-2008, 17:14:35
    #2
    1/2
    Merhaba

    Ornegin su an sadece 2 site icin ise bu cozum statik olarak yapilabilir. Eger sayi artacaksa o zaman dinamik olarak mysql destekli olabilir. Bu veritabani icerisinde hangi sayfalara ne yapilmak isteniyorsa cok kolay bir sekilde halledilir.

    Mantik olarak su yapilacak: link out yapilacak URL databasede kayitli sitelerden biri mi degil mi ona gore kiyaslanacak, kiyas sonucuna gore islem yapacak.

    ornegin database'de
    1. www./google.com
    2. /google.com
    3. www./google./com.tr

    gibi kayitlar olacak, senin elinde de www./google/.com/?link=aloBuraNere gibi olacak sen sadece substr(); ile bas kismi kiyaslatacaksin

    Selim
  • 25-05-2008, 17:18:20
    #3
    1/2
    haa, ne kadarini kiyaslatacaksin, yani bastan kac karakteri kiyaslatacagini soylememisim, onu da database'den gelen site isminin uzunlugu kadari ile kiyaslatabilirsin

    onu da strlen(); ile olcup o kadar karakterler ayni mi kiyas yaparsin.

    Hadi basarilar
    Selim
  • 28-05-2008, 21:28:31
    #4
    1/2
    @Kelebeksimi hocam sadece aşağıdaki kodda oynama yaparak yapamazmıyız.

    PHP- Kodu:
    'before' => $user_info['is_guest'] ? $txt['no_view_links'] . "\n" '' $txt['no_view_view'] . '&nbsp;<a href="http://www.r10.net/php/' $scripturl '?action=register">' $txt['no_view_register'] . '</a>&nbsp;' $txt['no_view_or'] . '&nbsp;<a href="http://www.r10.net/php/' $scripturl '?action=login">' $txt['no_view_login'] . '</a><div style="visibility:hidden">' '<a rel="nofollow" href="http://www.siteadresi.com/out.php?url=$1" target="_blank">'
    Yani bundan önce bi if else gibisinden kodlar girsek şu siteler varsa out.php çalışmasın yoksa çalışsın yapamazmıyız bunu.
    Bir ağaçtan bir milyon kibrit çıkar, bir kibrit bir milyon ağacı yakar.