• 04-02-2015, 18:22:14
    #1
    Merhabalar;

    5 tane sayfa arasında atıyorum
    a.html
    b.html
    c.html
    d.html
    e.html gibi sayfalardan hepsine joker butonu koymak istiyorum. Fakat önemli olan bu butonun bu 5 sayfa içinde sadece 1 kere kullanılabilir olması. Yani bu butona b sayfasında basıldıysa c,d ve e sayfalarında kullanılamaz olması gerek. bu buton da a sayfasında basılırsa b ye, b sayfasında basılırsa c ye geçirecek şekilde olmalı. Bunu basit bir şekilde nasıl yapabilirim?

    Yardımcı olursanız sevinirim.
  • 04-02-2015, 18:58:49
    #2
    Üyeliği durduruldu
    formla bi sonraki sayfaya post ettir post ettirdiğinde ya da get ile linkle yap ardından sessiona kaydettir eğer session varsa butonu gizle ...
  • 04-02-2015, 19:02:35
    #3
    phpyazilim adlı üyeden alıntı: mesajı görüntüle
    formla bi sonraki sayfaya post ettir post ettirdiğinde ya da get ile linkle yap ardından sessiona kaydettir eğer session varsa butonu gizle ...
    Rica etsem biraz daha detaylı yazar mısın php bilgim biraz zayıfta Birde cache attırabilir miyim bu buton sayesinde? Yani kapatılsa bile sayfalar tekrar açıldığında bu buton kullanılamasın. (Fazla gerekli değil olabiliyorsa)
  • 04-02-2015, 19:23:57
    #4
    Üyeliği durduruldu
    bak şimdi
    1.botonu <form> icine al
    2.form actionuna hep bi sonraki sayfayı yaz mesela a sayfasındasın b ye gececek action="b.php" gibi
    3.her dosyada if ile geleni kontrol et eğer veri varsa nasıl olsa bi önceki sayfayı da biliosun mesela $_COOKİE['buton']=1; $_COOKİE['sayfa']='a' gibi
    4. butonnu koyduğun sayfadada cookie ni ife sok sayfa eşleşmiyorsa ve buton eşitse 1 e butonu cıkarma yoksa cıkar bu kadar
  • 04-02-2015, 20:23:54
    #5
    Kullanima göre birden cok mantikli cözümü var aslinda.

    her farkli cozumde de joker icin session kullanirdim

    Session degiskenim bu sekilde olurdu
    joker = boolean (true/false)

    siradaki ve önceki sayfa icin ;

    sayfa_baglanti = array( 0 => "a.html", 1=> "b.html" ... .432 => "sdada.html"
    aktif_sayfa = 3

    formlar ile yapiyorsan action = sayfa_baglanti[aktif+1] seklinde halledebilirsin
  • 04-02-2015, 21:32:11
    #6
    a.php,b.php.....e.php sayfalarını oluştur.

    Her sayfaya aşağıdaki kodu değişiklik yapmadan ekle.

    Umarım işine yarar;

    Ek olarak kodu cache yapabilir miyim diye sormuşsun. Bunun için butonu tıklayanı bir şekilde takip etmiş olman gerekli. 2 yöntemi var. Üyelik sistemi ve cookie. Örnekteki session yerine cookie kullanırsan istediğine ulaşırsın. Fakat cookilerin bilgisayardan kolayca silineceğini unutma. Üyelik sisteminde ise üye için tablonda joker diye bir alan oluştur. true false değerini bu alan üzerinden kontrol et bu kadar basit.

    <?php
    	
    	if (empty($_GET['p'])) $p = 0;  else  $p = $_GET['p'];
    	
    	$pages=array('a.php','b.php','c.php','d.php','e.php');
    	
    	
    	session_start();
    	
    	if (isset($_POST['joker']) and $_POST['joker']=='true')
    	$_SESSION['joker'] = 'true';
    
    	
    	if (empty($_SESSION['joker']))
    	$_SESSION['joker'] = 'false';
    
    	if ($_SESSION['joker']=='true')//Joker Butonuna Basıldıysa Erişilmez Yap
    	$disabled = "disabled"; else $disabled="";
    
    	 	
    	
    ?>	
    	
    	<form method="POST" action="<?php echo $pages[$p]; ?>?p=<?php echo $p+1; ?>"><?php echo $pages[$p]; ?>
    		<input type="hidden" value="true" name="joker">
    		<input type="submit" value="Joker" name="B3" <?php echo $disabled;?>>
    	</form>
    	<form method="POST" action="<?php echo $pages[$p]; ?>?p=<?php echo $p+1; ?>">
    		<input type="submit" value="Sonraki Sayfa" name="B3" >
    	</form>
    dergos adlı üyeden alıntı: mesajı görüntüle
    Merhabalar;

    5 tane sayfa arasında atıyorum
    a.html
    b.html
    c.html
    d.html
    e.html gibi sayfalardan hepsine joker butonu koymak istiyorum. Fakat önemli olan bu butonun bu 5 sayfa içinde sadece 1 kere kullanılabilir olması. Yani bu butona b sayfasında basıldıysa c,d ve e sayfalarında kullanılamaz olması gerek. bu buton da a sayfasında basılırsa b ye, b sayfasında basılırsa c ye geçirecek şekilde olmalı. Bunu basit bir şekilde nasıl yapabilirim?

    Yardımcı olursanız sevinirim.
  • 04-02-2015, 22:17:01
    #7
    Herkese teşekkür eerim yardımları için
  • 04-02-2015, 22:45:01
    #8
    skassas nın dediğini yaptıktan sonra session ı veritabanında tutabilirsin session süresini daha uzun tutmak için ama bu da çözüm değil adam session için tutulan cookie yi siler buton tekrar aktif olur.

    bence en mantıklısını veritabanında tutmak.
    bir tane kontrol amaçlı tablo oluşturabilirsin ya da üye tablosuna joker diye alan da ekleyebilirsin sana kalmış.

    üye tablosuna
    uye_id --- uye_adi --- parola --- ..... --- joker
    şeklinde sona ekle. joker değerini default olarak 0 ayarla. eğer butonu kullandıysa 1 ata. bir daha gösterme butonu.

    en mantıklısı bu bence. cookie ya da session çözüm değil aslında. hangisi sana uyarsa o şekilde yap. tam sistemini anlatsan eminim daha fazla yardımcı olacaktır herkes ama sana kalmış tabi.

    kolay gelsin
  • 05-02-2015, 02:30:09
    #9
    Üyeliği durduruldu
    dergos adlı üyeden alıntı: mesajı görüntüle
    Herkese teşekkür eerim yardımları için
    En mantıklısı veritabanında tutmak. Buton değeri 1 ise butonu göstermessin olur biter.