2011-01-01 13 views
7

Bir sayfayı başka bir sayfaya yönlendirmeye çalışıyorum ve başarılı bir şekilde çalışıyordum. Ancak ilk sayfayı reklamlar ile başka bir sayfaya yönlendirmeye çalışıyorum. Bu sayfa beş saniye sonra başka bir sayfaya yönlendirilir.Bir sayfanın başka bir sayfaya 5 saniye boyunca yönlendirilmesi ve yeniden yönlendirilmesi

Bunu yaparak bunu çalışıyorum:

mükemmel ads.php verdiğimiz reklam gösteriyor, ancak beş saniye sonra yönlendirmediğinden Ancak
<?php 
include('ads.php'); 
?> 
<?php 
sleep(2); 
$url = $_GET['url']; 
header("Location: ".$url.""); 
exit; 
?> 

. Benim web tarayıcısında bu hatayı alıyorum:

Warning: Cannot modify header information - headers already sent by 
(output started at /home/nucleusi/public_html/adverts/ads.php:1) 
in /home/nucleusi/public_html/adverts/index.php on line 7 

Ben yönlendirme olacağını Tipik bağlantı bu olurdu için:

http://domain.com/adverts/index.php/?url=http%3A%2F%2Fitunes.apple.com%2Fmx%2Falbum%2Fstill-got-the-blues%2Fid14135178%3Fi%3D14135158

+1

Cevapları görmek isterim. Harika olacak –

+0

@ Col. Şarapnel - Düşünce Noel, birkaç gün geri döndü. :-) –

cevap

5

koymak gibi bir javascript sahip olmaktır Reklam sayfası bunu koydu:

<?php header("refresh:5;url=secondredirectafter5seconds.php"); ?> 

Bu ilk sayfanızı hemen yönlendirecek ve saniyenizi yeniden yönlendirecek 5 saniye sonra sayfa. Umarım bu yardımcı olur (doctype ve html etiketlerinden önce koyarsanız, başlık bilgisini değiştiremez).

DÜZENLEME: Ayrıca javascript olması, kullanıcının konumunu değiştirebileceği bir güvenlik riski olabilir. Bunu yaparak, kullanıcının yönlendirildiği yer üzerinde tam kontrol sahibi olursunuz.

+0

JavaScript kullanmanın böyle bir yönlendirme yapmasının güvenlik riski oluşturduğunu anlamıyorum. Teoride, herhangi bir kullanıcı temsilcisi yönlendirmeyi gerçekleştirmeyi reddedebilir veya bunu yalnızca standart kullanıcı (3xx) HTTP durum kodları için bile son kullanıcıya danıştıktan sonra yapabilir. Bilgili bir kullanıcının sayfa kaynağınızı değiştirebileceği ve başka bir yere yönlendirilebileceği konusunda haklısınız, ancak tarayıcınızın adres çubuğuyla bunu kolayca yapabilirler! Hiçbir noktada, "kullanıcı kontrolü" yapabileceğinizi asla düşünmeyin, çünkü kullanıcı aracısı üzerinde HTTP RFC'ye uymayı ümit etmenin ötesinde bir kontrolünüz yoktur. – Rob

+0

Eklediğim nedeni, kaynağı değiştirebilecekleri ve tam olarak nereye gittiklerini bildikleridir. Php ile dosya isimlerini bilmedikleri için dosya isimlerini bilmeden URL'yi değiştiremezler. Bir kez gittikten sonra verilmiş, tarihte saklanacak, ama ben sadece kullanıcı yerine kontrol sahibi olduğum bir şeyi kullanarak bu tür şeyleri tercih ederim. Reklamların çoğu zaman bir müşterinin kontrolü ele geçirmesini istemez ve bu da PHP ile daha kolaydır. Çoğu zaman kullanıcıyı kontrol etmemeye katılıyorum ama bu inanıyorum bir istisna. – jefffan24

2

Kullanım javascript window.location

1
meta etiketi veya yenilemek

Bu yardımcı olabilir size yardımcı olabilir ds

Wazzy

+0

teşekkürler, bunu nereye koyayım? –

0

Tüm sayfalar başlıkları ve içerikleri var. Bir ziyaretçiyi başka bir sayfaya yönlendirmek için, sayfanın başlık bölümünde yapmanız gerekir. Sayfa içeriğini (reklamlarınız) yazdırdıktan sonra, başlıkları değiştirmek için geri dönüşü olmayan içeriği etkili bir şekilde başlatmış olursunuz. üzerinde Sonra

<?php header("location: adlocationhere.php"); ?> 

:

Bunu yapmanın en iyi yolu Doctype veya html etiketlerinin öncesinde

(reklamlar öncesi) ilk sayfada
<script> 
function redirect() { window.location = '$url'; } 
setTimeout("redirect();", 5000); 
</script> 
+0

bu defa bu var, – styler1972

+0

Tamam önce, muhtemelen sayfanın alt kısmında .. html bitmiş olacaktır, ama yine de yönlendirmediğinden: ' ' –

+1

javascript’in $ _GET özelliği yok. Bu php kesinlikle. Yapabilecekleriniz ... var url = ; işlev yönlendirme() {window.location = url; } .... ve bu işe yaramalı. – jefffan24

İlgili konular