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.
Joker butonu yapmak istiyorum
8
●364
- 04-02-2015, 18:58:49Üyeliği durdurulduformla 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:35Rica etsem biraz daha detaylı yazar mısın php bilgim biraz zayıftaphpyazilim adlı üyeden alıntı: mesajı görüntüle
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Üyeliği durduruldubak ş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:54Kullanima 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:11a.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 - 04-02-2015, 22:45:01skassas 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Üyeliği durdurulduEn mantıklısı veritabanında tutmak. Buton değeri 1 ise butonu göstermessin olur biter.dergos adlı üyeden alıntı: mesajı görüntüle
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)