Şimdi Ara

php header sorunu

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
20
Cevap
0
Favori
4.683
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • yaptığım site de ki hiçbir yönlendirme çalışmıyor herşeyi denedim neredeyse ama yönlendirmeler çalışmıyor kullanıcı girişi yapıyor fakat yönlendirme yok bildiğiniz ya da bundan olabilir dediğiniz bişey var mı acaba kodları da atabilirim.



  • Kod ekleyebilir misiniz?

    < Bu ileti mini sürüm kullanılarak atıldı >
  • teknoyardimci kullanıcısına yanıt
    if ($_GET['sepete']=="ekle"){

    $_POST['adet'] = str_replace(",",".",$_POST['adet']);
    $_POST['ucret'] = str_replace(",",".",$_POST['ucret']);

    $urunid = $_POST['urunid'];
    $kullaniciid = $_POST['kullaniciid'];
    $adet = (float)$_POST['adet'];
    $ucret = (float)$_POST['ucret'];
    $ucrett= ($ucret) * ($adet);

    if($kullaniciid==""){
    header("location:urun_icerik?ai=$urunid&kullanici=yok");
    }


    kod kısmı böyle hocam çalışıyordu bianda oldu anlamadım sepete ekle butonuna basınca get le sepete ekle kısmına gidiyor devam edemiyor mesela kullanıcı yoksa header("location:urun_icerik?ai=$urunid&kullanici=yok"); bunu yapsan diyorum ama gitmiyor diğer tüm yönlendirmelerde aynı durumda
  • quote:

    Orijinalden alıntı: merttclk

    if ($_GET['sepete']=="ekle"){

    $_POST['adet'] = str_replace(",",".",$_POST['adet']);
    $_POST['ucret'] = str_replace(",",".",$_POST['ucret']);

    $urunid = $_POST['urunid'];
    $kullaniciid = $_POST['kullaniciid'];
    $adet = (float)$_POST['adet'];
    $ucret = (float)$_POST['ucret'];
    $ucrett= ($ucret) * ($adet);

    if($kullaniciid==""){
    header("location:urun_icerik?ai=$urunid&kullanici=yok");
    }


    kod kısmı böyle hocam çalışıyordu bianda oldu anlamadım sepete ekle butonuna basınca get le sepete ekle kısmına gidiyor devam edemiyor mesela kullanıcı yoksa header("location:urun_icerik?ai=$urunid&kullanici=yok"); bunu yapsan diyorum ama gitmiyor diğer tüm yönlendirmelerde aynı durumda

    header("location:urun_icerik?ai=".$urunid."&kullanici=yok");

    şeklinde yaparsan sorun çözülecektir. değişken kullanmadan önce stringi . ayracı ile kapatmalısın.




  • quote:

    Orijinalden alıntı: system_31


    quote:

    Orijinalden alıntı: merttclk

    if ($_GET['sepete']=="ekle"){

    $_POST['adet'] = str_replace(",",".",$_POST['adet']);
    $_POST['ucret'] = str_replace(",",".",$_POST['ucret']);

    $urunid = $_POST['urunid'];
    $kullaniciid = $_POST['kullaniciid'];
    $adet = (float)$_POST['adet'];
    $ucret = (float)$_POST['ucret'];
    $ucrett= ($ucret) * ($adet);

    if($kullaniciid==""){
    header("location:urun_icerik?ai=$urunid&kullanici=yok");
    }


    kod kısmı böyle hocam çalışıyordu bianda oldu anlamadım sepete ekle butonuna basınca get le sepete ekle kısmına gidiyor devam edemiyor mesela kullanıcı yoksa header("location:urun_icerik?ai=$urunid&kullanici=yok"); bunu yapsan diyorum ama gitmiyor diğer tüm yönlendirmelerde aynı durumda

    header("location:urun_icerik?ai=".$urunid."&kullanici=yok");

    şeklinde yaparsan sorun çözülecektir. değişken kullanmadan önce stringi . ayracı ile kapatmalısın.

    Arkadaş benden önce davranmış




  • quote:

    Orijinalden alıntı: system_31


    quote:

    Orijinalden alıntı: merttclk

    if ($_GET['sepete']=="ekle"){

    $_POST['adet'] = str_replace(",",".",$_POST['adet']);
    $_POST['ucret'] = str_replace(",",".",$_POST['ucret']);

    $urunid = $_POST['urunid'];
    $kullaniciid = $_POST['kullaniciid'];
    $adet = (float)$_POST['adet'];
    $ucret = (float)$_POST['ucret'];
    $ucrett= ($ucret) * ($adet);

    if($kullaniciid==""){
    header("location:urun_icerik?ai=$urunid&kullanici=yok");
    }


    kod kısmı böyle hocam çalışıyordu bianda oldu anlamadım sepete ekle butonuna basınca get le sepete ekle kısmına gidiyor devam edemiyor mesela kullanıcı yoksa header("location:urun_icerik?ai=$urunid&kullanici=yok"); bunu yapsan diyorum ama gitmiyor diğer tüm yönlendirmelerde aynı durumda

    header("location:urun_icerik?ai=".$urunid."&kullanici=yok");

    şeklinde yaparsan sorun çözülecektir. değişken kullanmadan önce stringi . ayracı ile kapatmalısın.

    dediğiniz şekilde yaptım ama malesef hocam düzelmedi çalışıyordu kodlar bianda oldu locale atınca da çalışıyor sunucuda çalışmıyor.




  • Header kodu localhosta çalışır.ancak serverda tek başına çalışmaz.Header yerine şu kodu kullan.

    echo'<meta http-equiv="refresh" content="0;URL=yoneleceksiteadresi">';

    content süreyi belirtiyor.kaç saniye yazarsan o saniyeden sonra yönlendirme yapar.



    < Bu mesaj bu kişi tarafından değiştirildi atm10 -- 8 Kasım 2017; 20:9:10 >
  • quote:

    Orijinalden alıntı: atm10

    Header kodu localhosta çalışır.ancak serverda tek başına çalışmaz.Header yerine şu kodu kullan.

    echo'<meta http-equiv="refresh" content="0;URL=yoneleceksiteadresi">';

    content süreyi belirtiyor.kaç saniye yazarsan o saniyeden sonra yönlendirme yapar.


    hocam tek başına çalışmaz derken yani önceden çalışıyordu bianda oldu durduk yere de olmaz gerçi de headerın çalışması için ne yapabilirim.
  • Header kullanmak istiyorsanız, sayfanın en başına <?php ob_start();?> sayfanın en altına <?php ob_end_flush();?> yazın.
  • quote:

    Orijinalden alıntı: atm10

    Header kullanmak istiyorsanız, sayfanın en başına <?php ob_start();?> sayfanın en altına <?php ob_end_flush();?> yazın.

    ayar dosyamda session start ve ob start var ve tüm sayfalara dahil sadece en altta ob en flush yokdu onu da yazdım yıne yok utf8 bomsuz yapdım yıne yok
  • hocam en kesin çözüm $rootPath diye bir değişken oluştur ayar dosyanda atıyorum dosyaların localhostta iken değişkenin değeri "http://localhost/siteadi/" şeklinde olsun. header kullanırken

     header(location:".$rootPath."urun_icerik?ai=".$urunid."&kullanici=yok");


    şeklinde kullan. dosyaları sunucuya yüklediğinde tek yapman gereken ayar dosyasındaki $rootPath değişkenini site adresiyle değiştirmek olacaktır.

    Kolay gelsin..
  • quote:

    Orijinalden alıntı: system_31

    hocam en kesin çözüm $rootPath diye bir değişken oluştur ayar dosyanda atıyorum dosyaların localhostta iken değişkenin değeri "http://localhost/siteadi/" şeklinde olsun. header kullanırken

     header(location:".$rootPath."urun_icerik?ai=".$urunid."&kullanici=yok");


    şeklinde kullan. dosyaları sunucuya yüklediğinde tek yapman gereken ayar dosyasındaki $rootPath değişkenini site adresiyle değiştirmek olacaktır.

    Kolay gelsin..

    hocam cevabınız için teşekkürler ama onuda denemiştim şuanda yine denedim aynı yönlendirme yapmıyor sunucu taraflı bir problem olabilir mi?
  • header kodundan önce çıktı olarak bir şeyler varsa yönlendirme geçersiz olur. Ya onu çözersiniz ya da javascript veya html ile yönlenirsiniz.

    echo "<script>location=urun_icerik?ai=".$urunid."&kullanici=yok"</script>";

    < Bu ileti tablet sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: nihattr

    header kodundan önce çıktı olarak bir şeyler varsa yönlendirme geçersiz olur. Ya onu çözersiniz ya da javascript veya html ile yönlenirsiniz.

    echo "<script>location=urun_icerik?ai=".$urunid."&kullanici=yok"</script>";

    hocam yönlendirmeleri yapıyorum scriptle ama buseferde mesela başarılı giriş var ama session start yapmıyor üye doğru giriş yapıyor ama gözükmüyor
  • merttclk M kullanıcısına yanıt
    Kullanıcının session kaydından sonra yönlendirme kodu çalışıyorsa yönlendirilen sayfada giriş yapılmış şekilde olması lazım. Yönlendirilen sayfada yenileme yapınca düzeliyor mu?
  • quote:

    Orijinalden alıntı: nihattr

    Kullanıcının session kaydından sonra yönlendirme kodu çalışıyorsa yönlendirilen sayfada giriş yapılmış şekilde olması lazım. Yönlendirilen sayfada yenileme yapınca düzeliyor mu?

    hayır malesef çalışmıyor.
  • quote:

    Orijinalden alıntı: atm10

    Header kullanmak istiyorsanız, sayfanın en başına <?php ob_start();?> sayfanın en altına <?php ob_end_flush();?> yazın.
    Hocam çok teşekkür ederim sağ olun sırf size teşekkür etmek için foruma üye oldum :)
  • hocam merhaba yardımcı olabilirseniz çok sevinirim

    Bir sitem var. Sitemde Türkçe dahil 3 adet dil seçeneğim var. Şu an mevcut şekilde çalışıyorlar. Fakat kullanıcı tarayıcı bilgisinden gelen dile göre bu 3 dilden biri seçilsin istiyorum. header: Location kodum çalışmadı. Meta refresh yapıyorum çalışıyor fakat sürekli kendini yeniliyor sonsuz bir döngüye giriyor site. Şu Şekilde ilerliyor;

    index.php açılıyor

    config.php dahil ediliyor (içinde dil dosyaları var çalışmaya başlıyor)

    index.php ye header.php yi dahil ediyorum

    header php de yazdığım kod; eğer kullanıcı tarayıcısından gelen di tr ye eşitse site index.php?lang=tr olarak aç diyorum. Ve index.php?lang=tr olarak açıyor. Ama aynı işlemler tekrarlandığı için sonsuz bir döngüye girmiş oluyor sitem.

    Sorunu nasıl çözebilirim?

  • Merhaba;

    Diğer arkadaşlarında belirttiği gibi


    ob_start(); ve ob_end_flush(); etiketlerini eklemek gerekir.


    Ancak server ve ya hosting değişikliği sonrası header fonksiyonunuz çalışmıyor ise php sürümünüzde bulunan br tagın eksikliğinden kaynaklanır.

    Paylaşımlı hosting kullanımlarında bir anda header çalışmaması da aynı durumdan kaynaklıdır.


    Yapmanız gereken hosting yönetim pnaelinizden PHP etiketlerini düzenlemektir.

    Şayet panel erişiminizde php.ini düzenleme yetkiniz yok ise hosting sağlayıcınıza durumu iletmeniz gerekmektedir.


    Cpanel kullananlar için yapmanız gereken panelinize girdikten sonra MultiPHP INI Düzenleyicisi kısmına tıklamak. domain adresinizi seçtikten sonra php tagları arasında zlib.output_compression etiketini etkin konuma alarak kaydetmeniz gerekir.


    düzenleyici modunda ise php.ini dosyanıza zlib.output_compression = On

    şeklinde etiketi eklemeniz gerekir.





  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.