Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

PHP'de sayfa yönlendirme

Konu, 'PHP' kısmında Sahin tarafından paylaşıldı.

  1. Sahin

    Sahin Daimi Üye

    Kayıt:
    28 Mayıs 2002
    Mesajlar:
    8,943
    Beğenilen Mesajlar:
    0
    PHP:
    <?

    $url "http://yonlendirilecek_site/";

    echo 
    "Content-type:text/html\n";
    echo 
    "Location: $url\n\n";

    ?>
    Bu şekilde olur değilmi ustat?
     
  2. mkarabulut

    mkarabulut Misafir

    Maalesef olmaz.
    Normalde oluşturulan web sayfasının iki bölümü vardır,görünen kısmı ve görünmeyen kısmı.

    Görünen kısmı bizim oluşturduğumuz resim,yazı ve diğer içeriğin bulunduğu kısım.

    Görünmeyen kısım ise oluşturulan bu sayfa hakkında bilgilerin bulunduğu header kısmıdır.Header'da şu tür bilgiler bulunur, sayfanın encoding bilgisi,location bilgisi,içerik tipi (content-type),cookie bilgileri...

    Normalde PHP ile hem sayfanın header bölümünü hem de içerik bölümünü oluşturabiliriz.Ama dikkat etmemiz gereken nokta header bilgileri önce gönderilmeli daha sonra içerik gönderilmelidir.

    Mesela
    PHP:
    <? 
       
    header("Content-type:text/html");
       echo 
    "<b>Al sana içerik</b>";
    ?>
    Aynı şekilde yönlendirme içinse
    PHP:
    <?
       
    header ("Location:index.php");
    ?>
    Şu örnekte size header'lar hakkında bir fikir verebilir
    PHP:
    <?
      
    //resim dosyasını oku 
      
    $img=fopen("resim.jpg","r");
      
    $img_content=fread($img,filesize("resim.jpg"));
      
    fclose($img);
      
    //resmi tarayıcıda göster
      
    header("Content-type:image/pjpeg");
      echo 
    $img_content;
    ?>
    İyi çalışmalar...
     
  3. SFG

    SFG Yeni Üye

    Kayıt:
    15 Temmuz 2002
    Mesajlar:
    19
    Beğenilen Mesajlar:
    0
    Meslek:
    webdesigner
    Şehir:
    kuzey kutbu
    Eline sağlık üstat, perlde aşağı yukarı üsttekine benzer bir yönlendirme yapılıyor, PHP'de baya farklı olay görüldüğü kadarıyle.
     
  4. mkarabulut

    mkarabulut Misafir

    PHP,syntax olarak PERL,C++ a bayağı benzemekle beraber, çalışma mantığı,fonksiyonları ile aslında rakibi olan ASP'ye çok benziyor.

    Mesela ASP ile yönlendirme

    <%
    Response.Redirect "http://www.ceviz.net"
    %>

    veya benzer şekilde diğer yaptığımız şey ASP ile

    <%
    response.contenttype "image/pjpeg"
    response.binarywrite image_content
    %>
     
  5. moonspell

    moonspell Üye

    Kayıt:
    26 Temmuz 2008
    Mesajlar:
    34
    Beğenilen Mesajlar:
    0
    bir sorum vardı konuyla ilgili. Diyelimki www.abc.com diye bi sitemiz var. bu site açıldığı gibi www.zxy.com 'a yönlenecek. yönlenme sonrasında adres çubuğunda yazan adresin abc.com olarak kalmasını sağlayabilir miyiz? yani zxy.com 'la alakalı bi görüntü olsun istemiyorum.
     
  6. eolmez

    eolmez Daimi Üye

    Kayıt:
    27 Ocak 2007
    Mesajlar:
    1,604
    Beğenilen Mesajlar:
    0
    Kod:
    <HTML>
             <HEAD>
    <TITLE> www.abc.com'a hoş geldiniz... </TITLE>
    <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <META http-equiv="Cache-Control" content="no-cache">
            </HEAD>
      <FRAMESET rows="*,0">
     <FRAME src="http://www.xyz.com/" noresize>
    	<NOFRAMES>
    		Tarayiciniz iframe'i desteklemiyor olabilir,
                     lutfen adam akilli bir tarayici kullaniniz.
    	</NOFRAMES>
     </FRAMESET>
            </HTML>
    
    en çok kullandığım yöntemdir, al bakalım..
     
  7. lordy

    lordy Üye

    Kayıt:
    22 Aralık 2006
    Mesajlar:
    63
    Beğenilen Mesajlar:
    0
    function SayfaYonlendir($url="",$sure=1)

    {

    echo "<meta content='$sure; URL=$url' http-equiv='refresh'>";

    }
     
  8. moonspell

    moonspell Üye

    Kayıt:
    26 Temmuz 2008
    Mesajlar:
    34
    Beğenilen Mesajlar:
    0
    çok teşekkür ederim =) zahmet verdim.
     
  9. Nurullahz

    Nurullahz Üye

    Kayıt:
    27 Nisan 2006
    Mesajlar:
    97
    Beğenilen Mesajlar:
    0
    Meslek:
    Genel Koordinatör, http://www.turkbilisim.com.tr
    Şehir:
    Istanbul, Turkey, Turkey
    Dilersen refresh komutu kullanabilirsin.

    PHP:
    function yonlendir($sure,$sayfa){
      
    $deger "<meta http-equiv=\"refresh\" content=\"$sure;url=$sayfa\">\n";
      return 
    $deger;
     }
    kullanımı:
    echo yonlendir(0,"abc.php");
     
  10. EndLess

    EndLess Yeni Üye

    Kayıt:
    21 Temmuz 2008
    Mesajlar:
    10
    Beğenilen Mesajlar:
    0
    Konu ile alakalı mı bilmiyorum ama ufak bir sorum olacaktı. Biz burda php de yönlendirme işlemini header ile değilde html meta kodu ile yapmamız daha doğru yani hızlı olmaz mı ? NurullahZ ın dediği gibi ama sadece html kodları ile ?
     
  11. paradise

    paradise Üye

    Kayıt:
    9 Haziran 2005
    Mesajlar:
    49
    Beğenilen Mesajlar:
    0
    bunu ns yönledirme ile yapmak daha mantıklı. abc.comun nameserverları zxy.com a göre ayarlanırsa linkler ile ziyaretçiyi taşırken xyz.com görünmeyecektir.
     
  12. tanermacit

    tanermacit Üye

    Kayıt:
    8 Ekim 2008
    Mesajlar:
    54
    Beğenilen Mesajlar:
    0
    javascrit ile çoklu yönlendirme yapmak

    Valla ben javascript ile yapıyorum hem o şekilde birden fazla framede istediğin sayfalarıda açabiliyorsun.
    PHP:
    <script>
    alert("Denemeye Yönlendiriliyorsunuz!");
    window.top.frames['uyegirdi'].location.href 'basla.php';
    window.top.frames['sol'].location.href 'dersler.php';
    </script>
     
  13. omer_irfan

    omer_irfan Üye

    Kayıt:
    4 Temmuz 2008
    Mesajlar:
    127
    Beğenilen Mesajlar:
    0
    html meta refresh tarayıcı ayarlarından engellenmekte ama bende genelde onu kullanıyorm yok php yönlendirmenin süre ayarı olsa çok iyi olurdu
     
  14. kukextrem

    kukextrem Yeni Üye

    Kayıt:
    24 Ekim 2009
    Mesajlar:
    4
    Beğenilen Mesajlar:
    0
    selam arkadaşlar,

    uye kaydim icin yaptigim sorguda bir hata var calistiramiyorum.sanirim syntax hatasi.cunku ne db ye kayit ediyor nede sayfa yonlendirmesi yapiyor.Rica etsem ustalar bir bakabilirmisiniz:)

    <?php

    $ad=$_POST['ad'];
    $soyad=$_POST['soyad'];
    $ceptel=$_POST['ceptel'];
    $agree=$_POST['agree'];
    $todo=$_POST['todo'];
    $email=$_POST['email'];
    $cinsiyet=$_POST['cinsiyet'];



    if(isset($todo) and $todo=="post"){

    $status = "OK";
    $msg="";

    // if userid is less than 3 char then status is not ok
    if(!isset($ad) or strlen($ad) <3){
    $msg=$msg."AD should be =3 or more than 3 char length<BR>";
    $status= "NOTOK";}

    if(mysql_num_rows(mysql_query("SELECT userid FROM appuser WHERE ad = '$ad'"))){
    $msg=$msg."AD already exists. Please try another one<BR>";
    $status= "NOTOK";}


    if ( strlen($soyad) < 3 ){
    $msg=$msg."SOYAD must be more than 3 char legth<BR>";
    $status= "NOTOK";}

    if ($agree<>"yes") {
    $msg=$msg."You must agree to terms and conditions<BR>";
    $status= "NOTOK";}

    if($status=="OK"){
    $sql = mysql_query("insert into `plus_signup`( `ad`,`soyad`,`ceptel`,`email`,`cinsiyet`) values('$ad','$soyad','$ceptel','$email','$cinsiyet')");}
    if($sql){
    echo "kayidiniz basari ile tamamlandi";
    echo"<meta HTTP-EQUIV="REFRESH" content="0; url=http://xxxxx/index.php\">";
    } else{
    echo "<font face='Verdana' size='2' color=red>$msg</font><br><input type='button' value='Retry' onClick='history.go(-1)'>";
    }


    ?>
     
  15. kukextrem

    kukextrem Yeni Üye

    Kayıt:
    24 Ekim 2009
    Mesajlar:
    4
    Beğenilen Mesajlar:
    0
    arkadaşlar bi yardım yaaa :(
     
  16. AWCI

    AWCI Aktif Üye

    Kayıt:
    11 Ağustos 2008
    Mesajlar:
    389
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Developer
    Şehir:
    İzmir, Turkey, Turkey
    2002 de açılmış bi konunun altına yazıyorsunuz farkında mısınız? konuyu hortlatmışsınız. yeni bi konu açıp sormanız daha mantıklı olurdu ve kodalrı php tagları arasında yazarsanız biraz daha anlaşılır olabilirdi. şimdi yapmak istediğinize gelelim.
    PHP:
    if (isset($todo) && $todo=='post'){
    // kodlar buraya
    }else{
    echo 
    'Hata';
    }
    bu şekilde deneyip vermiş olduğu hatayı yazar mısınız?
     
  17. kukextrem

    kukextrem Yeni Üye

    Kayıt:
    24 Ekim 2009
    Mesajlar:
    4
    Beğenilen Mesajlar:
    0
    tekrar slmlar,

    konu tarihine bakmamıştım kusura bakmayın.söylediğiniz gibi denedim ama gene boş safya geldi :garip: kod konusunda yeni olduğum için bütün kodlarımı kopyaladım.nerde problem olabilceğini tahmin edemediğim için..

    tekrar tşkler
     
  18. alphae

    alphae Üye

    Kayıt:
    30 Kasım 2008
    Mesajlar:
    177
    Beğenilen Mesajlar:
    0
    PHP:
    echo"<meta HTTP-EQUIV="REFRESH" content="0url=http://xxxxx/index.php\">";
    } else{
    echo 
    "<font face='Verdana' size='2' color=red>$msg</font><br><input type='button' value='Retry' onClick='history.go(-1)'>";
     

    bu kodan dolayi bos sayfa gelio tek tirnak kulanmalisin cfit tirnaklar arasina cift tirnak gelmez.
     
    Son düzenleme yönetici tarafından yapıldı: 8 Eylül 2010
  19. Ferhat Ozdemir

    Ferhat Ozdemir Daimi Üye

    Kayıt:
    14 Nisan 2006
    Mesajlar:
    3,268
    Beğenilen Mesajlar:
    3
    Meslek:
    Electronics and Computer Engineer
    Şehir:
    Texas
    Hayır! ne demek çift tırnak arasında çift tırnak kullanılmaz. tek ile tek tirnak, çift ile de çift tırnak elbette kullanılır.
    Mesela verdiğiniz kod şöyle olur.

    PHP:
    echo"<meta HTTP-EQUIV=\"REFRESH\" content=\"0; url=http://xxxxx/index.php\">";
    } else{
    echo 
    "<font face=\"Verdana\" size=\"2\" color=\"red\">$msg</font><br><input type=\"button\" value=\"Retry\" onClick=\"history.go(-1)\">";
     
  20. cedubal

    cedubal Üye

    Kayıt:
    9 Nisan 2007
    Mesajlar:
    66
    Beğenilen Mesajlar:
    0
    Meslek:
    SEO Expert
    PHP:
    <?php get_header(); ?>
    <?php get_sidebar
    (); ?>

    <div id="content">
    <div class="post">
    <h2><?php _e('Error 404 - Not Found''stratewater'); ?></h2>
    </div>
    </div>

    <?php get_footer(); ?>

    farklı bir yere konu açmak istemedim.404 yönlendirme sayfası bu şekilde.404 sayfası hiç görünmeden herhangi bir sayafaya yönlenmesini istiyorum ( or: default.php tarzı)
    yardım edebilir misiniz?

    Teşekkürler