Bir form ile PHP Sayfalandırılmış Galeri -

2 Cevap php

Bunun üzerine yaklaşık 20 görüntüler ile görüntülerin, her sayfanın bir 5 sayfa galerisi resim. Istemcileri görüntünün bir dijital kopyasını sipariş etmek için her bir görüntü 2 onay kutularını, "web çözünürlük" ve "baskı çözünürlüğü" ile ilişkilidir.

Sayfa PHP inşa edilmiştir. İstemci tüm 5 sayfalar boyunca görüntüleri seçerek bittiğinde, o "Gönder Order" tıklamaları ve seçilen görüntülerin küçük resimlerini görüntülemek ve sipariş ve bütçe bilgileri isteyecektir bir onay sayfasına alınır.

Hangi görüntüleri sayfalar arasında seçilmiştir korumak için en kolay yolu nedir? Bu bir sayfalık galeri yaşımdayken, mükemmel çalıştı bu kodu kullanarak edildi:

echo "<ul class=\"req-box nolist\">
    <li>";

    if (isset($_POST['photo-select']) && in_array($photoid . "-print", $_POST['photo-select'])) {
        echo "<input type=\"checkbox\" checked=\"checked\" name=\"photo-select[]\" id=\"{$photoid}-print\" value=\"{$photoid}-print\" />\n";
    } else {
        echo "<input type=\"checkbox\" name=\"photo-select[]\" id=\"{$photoid}-print\" value=\"{$photoid}-print\" />\n";
    }

    echo "<label for=\"{$photoid}-print\">print use</label></li>\n
    <li>";

    if (isset($_POST['photo-select']) && in_array($photoid . "-web", $_POST['photo-select'])) {
        echo "<input type=\"checkbox\" checked=\"checked\" name=\"photo-select[]\" id=\"{$photoid}-web\" value=\"{$photoid}-web\" />\n";
    } else {
        echo "<input type=\"checkbox\" name=\"photo-select[]\" id=\"{$photoid}-web\" value=\"{$photoid}-web\" />\n";
    }

    echo "<label for=\"{$photoid}-web\">web use</label></li>\n

</ul>\n";

Ama şimdi bu tabii ki sayfalara bağlantılar <a> çapa olduğundan, çalışmaz ve $ _POST dizi post olmaz. Ben bu bir jQuery AJAX POST olay kullanılarak yapılabilir düşünüyorum, ama ben% 100 emin değilim, ve ben bunu yapmak için en iyi yolu ise emin değilim. Birisi JS özürlü varsa, formu sağ, hiç çalışmaz?

O zaman tek yolu, iyi, ama ben bu konuda sizden tüm bazı tavsiyeler gerekir. Teşekkürler!

2 Cevap

Eğer AJAX kullanmak zorunda değilsiniz.

(zaten değilse) önceki ve sonraki düğmeleri düğmeleri form olun. Eğer GET ilk dört sayfalarında form yöntemini değiştirebilecek bu şekilde yapıyor. Son sayfa kullanımı POST diğer sayfaya gitmek için. (Aslında sunucu üzerinde değişen bir şey değil çünkü zaten GET ile sopa isteyebilirsiniz rağmen)

önceki ve sonraki sayfa düğmeleri form düğmelerinin olmak, seçimlerinizi url geçilecek.

sayfa 1 seçimleri 1-20 ve 3 ve 5 seçilen kullanıcı olabilir yanındaki tıklayarak url giderdim.:

http://original/url/?sel[]=3&sel[]=5&page=2

sayfa 2 seçimleri 21 var - 40 ve 27 ve 32 seçilmiş kullanıcı artık buton url gider:.

http://original/url/?sel[]=3&sel[]=5&sel[]=27&sel[]=32&page=3

ve benzerleri.

Eğer genellikle adresler biraz uzun alabilirsiniz TÜM 100 görüntülerini almak, ama bunun için oturumları kullanmadan önce belirtildiği gibi kullanıcılar varsa. Eğer olsa oturumları için ajax gerekmez.

key: sel = photo-select

Bir Ajax isteği muhtemelen en iyi bahistir.

Onlar başka bir sayfaya gitmek için tıklayın zaman jQuery kullanarak, size oturumda veri depolamak için bir AJAX olayı olabilir. Veya, her bir onay kutusunu tıklatın, ancak birçok isteklerine birkaç muhtemelen olur bunu yapabilirdi.

Onları engelli Javascript sahip endişe varsa, ajax script varsayılan sayfa bağlantıları noktası olabilir. Bir Ajax arama yaptığınızda, daha sonra bu tür ajax değişken false ise 'ajax = 1' sonra, oto sonraki sayfaya kullanıcıyı yönlendirme gibi bir değişken geçmek. Bu yol, bu yol, JavaScript etkin insanlar bir AJAX isteği alacak ve komut gidecek değilsiniz insanlar, daha sonra hızlı yönlendirilmiş olsun. Daha sonra, sadece emirleri tamamlarken yerine $ _POST $ _SESSION kontrol etmek için süreç sipariş kodunu değiştirmek.