lostyazilim
tr.link

Php sayfa yenileme sorunu

10 Mesajlar 2.883 Okunma
acebozum
tr.link

efendi12 efendi12 Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 30.01.2012
  • Yaş/Cinsiyet - / E
  • Meslek Öğrenci
  • Konum
  • Ad Soyad ** **
  • Mesajlar 91
  • Beğeniler 5 / 11
  • Ticaret 0, (%0)
Merhaba arkadaşlar söyle bir şey yapmak istiyorum . Mesela sayfamız index.php?id=2
olsun benim yapacağım eğer sayfa yenilenirse id'yi 1 arttır olacak yani index.php?id=3 bu şekilde
 

 

wmaraci
reklam

trdinner trdinner WM Aracı Kullanıcı
  • Üyelik 04.12.2011
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 18
  • Beğeniler 0 / 3
  • Ticaret 1, (%100)
tam dediğin gibi yapamassın. ancak bir yerlere tıklatarak falan yapabilirsin.
 

 

efendi12 efendi12 Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 30.01.2012
  • Yaş/Cinsiyet - / E
  • Meslek Öğrenci
  • Konum
  • Ad Soyad ** **
  • Mesajlar 91
  • Beğeniler 5 / 11
  • Ticaret 0, (%0)
Hiç bir yolu yokmu :D
 

 

trdinner trdinner WM Aracı Kullanıcı
  • Üyelik 04.12.2011
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 18
  • Beğeniler 0 / 3
  • Ticaret 1, (%100)

efendi12 adlı üyeden alıntı

Hiç bir yolu yokmu :D

yok çünkü dediğin şey brownserlarla alakalı bir durum yani konunun php ile alakası yok. kullandığın brownser(ie, mozilla,firefox vs) böyle birşey yapmaya uygun değil, brownserda sayfayı yenilediğinde urlbar daki adres tekrar çalıştırılır. ama yapmak istediğin şey her neyse veritabanıyla halledebilirsin belki sayaç gibi birşay yaparsın, her kullanıcıya bir session id atarsın kullanıcı sayfayı yenilediğinde o session id ile haberin olur sayacı artırırsın ne göstereceksen gösterirsin vs. ama dediğin gibi olmaz.
 

 

wmaraci
wmaraci

AzReTL AzReTL Sms Onayı Gerekli Banlı Kullanıcı
  • Üyelik 12.06.2012
  • Yaş/Cinsiyet - / E
  • Meslek freelancer
  • Konum
  • Ad Soyad ** **
  • Mesajlar 96
  • Beğeniler 19 / 9
  • Ticaret 0, (%0)
id'yi arttırarak ne elde etmek istiyorsunuz? ona göre cevap vermemiz daha doğru olur.
 

 

ckurdu ckurdu Sms Onayı Gerekli Kullanıcı
  • Üyelik 03.08.2012
  • Yaş/Cinsiyet - / E
  • Meslek Web Programmer
  • Konum İstanbul Anadolu
  • Ad Soyad ** **
  • Mesajlar 26
  • Beğeniler 1 / 2
  • Ticaret 5, (%100)
Belki şöyle birşey yapabilirsin. Sayfa yenilendiğinde index.php?id=1 e istek geldiğinde sayfanın yenilendiğini php kodu ile tespit edip sayfayı inde.php?id=2 ye yönlendireceksin (ki aynı sayfa). Aynı şekilde kod hep id yi bir arttırarak yeni urlye redirection yapıcak. Burada önemli nokta $ziyaretsayisi yanlız ve yanlız session ile aynı kullanıcının sayfayı ziyareti durumunda olduğunu öğrenip öyle arttırmalısın yoksa sonsuz çevrime girebilir. Yani $id 1 iken girer sonra sonsuza dek sayfa yönlenir.

if($ziyaretsayisi>$_POST['id'])
header("Location: http://www.websitesi.com/index.php?id= ".$ziyaretsayisi);

?>

Amacın ne doğrusu bende merak ettim.
 

 

efendi12 efendi12 Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 30.01.2012
  • Yaş/Cinsiyet - / E
  • Meslek Öğrenci
  • Konum
  • Ad Soyad ** **
  • Mesajlar 91
  • Beğeniler 5 / 11
  • Ticaret 0, (%0)
@AzReTL

Aslında amacım şu :) Mesela veritabınından id'si 1 olan veriyi ekrana yazdıracak ve her yenilemede diğer veriyi yazdıracak ama son veriye geldiğinde tekrar id'yi başa alacak .

@ckurdu Teşekkkürler ama olmadı :)
 

 

3579 3579 WM Aracı Anonim Üyelik
  • Üyelik 30.01.2012
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 2434
  • Beğeniler 686 / 1151
  • Ticaret 1, (%100)

efendi12 adlı üyeden alıntı

@AzReTL

Aslında amacım şu :) Mesela veritabınından id'si 1 olan veriyi ekrana yazdıracak ve her yenilemede diğer veriyi yazdıracak ama son veriye geldiğinde tekrar id'yi başa alacak .

@ckurdu Teşekkkürler ama olmadı :)


Şu an vaktim yok bu yüzden detaylı bir kod veremeyeceğim.
Eğer mantığını öğrenmek isterseniz şu şekilde yapabilirsiniz. (Dediğim gibi henüz kodunu yazmadığım için sadece teori üretiyorum. Çalışabilir de çalışmayabilir de.)

Öncelikle $_GET['id'] ile id bilgisi alınır ve Session`a atanır.
Her yenilemede session +1 arttırılır.

Daha sonra bir txt dosyası ya da veritabanı tablosuna 1 değeri yazdırılır.

Sayfayı her yenilemede bu txt dosyasındaki ya da veritabanındaki 1 değeri bir arttırılıp bir azaltılır. Birinci yenilemede değer 0 olur, ikinci yenilemede değer 1 olur.
Daha sonra burada yapılması gereken işlem şudur.
Eğer veritabanı ya da txt dosyasındaki değer 1 ise, session[id] değerine yönlendirme yapılır. Otomatik olarak yönlendirme yaptığınızda sayfa yeniden yükleneceği için 1 değeri 0 olur ve script tekrar yönlendirme yapmaz.

Daha sonra sayfayı f5 yaparsanız 0 değeri tekrar 1 olur ve tekrar session['id'] değerine yönlendirilir.

Kodların uzun süreceğini ve fazla kontrol olacağını tahmin ediyorum fakat bu mantıkla büyük ihtimal istediğiniz olacaktır.

Son veriye gelirse de session[id] değerini 1 yaparsınız, tekrar başlar. :rolleyes:
Bir ara üşenmezsem böyle bir şey yazarım. Şahsen üşengeçlik yarışması olsa, yarışmaya gitmeyecek kadar üşengecim. :D
efendi12

kişi bu mesajı beğendi.

Hurkal Hurkal Sms Onayı Gerekli Banlı Kullanıcı
  • Üyelik 05.08.2011
  • Yaş/Cinsiyet - / E
  • Meslek Öğretmen
  • Konum İstanbul Avrupa
  • Ad Soyad ** **
  • Mesajlar 382
  • Beğeniler 89 / 114
  • Ticaret 0, (%0)


session_start();

$veri_adedi=5; //Burada kaç değerin farklı değerin varsa yazarsın
$secim=$_SESSION['say']++ % $veri_adedi + 1;

$sorgu="select veri from tablo where no=".$secim;
$gonder=mysql_query($sorgu);

...
?>

efendi12

kişi bu mesajı beğendi.

trdinner trdinner WM Aracı Kullanıcı
  • Üyelik 04.12.2011
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 18
  • Beğeniler 0 / 3
  • Ticaret 1, (%100)
ajaxla ilerlemeli yapsana kullanıcı -> e basınca 2. veri gelsin böyle böyle next next diye ilerlesin.
 

 

Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al