Kullanıcıların diziyi hatırlamak JQuery ve PHP Session Kullanımı

2 Cevap php

Ben JQuery ve PHP kullanarak komut dosyası Dabbles bir tasarımcı değilim. Ben hem işlevselliği oldukça iyi bir anlayış var ama oturumları kullanarak benim için yeni.

Ben bir arama özelliği ile bir uygulama var. Arama sonuçları birkaç sayfa üzerinden streç olabilir ve her sonuç bir onay kutusu bulunur. Fikir kullanıcı sonuçları geçer ve istedikleri öğeleri, sonra sonuç bir düğme, her sayfanın alt kısmında var olan bir PDF outputted off da denetler. Yani kullanıcı sayfaları arasında kapalı kontrol etti öğeleri takip etmek gerekiyor.

Ben kullanıyorum yöntem $ _SESSION depolanan bir dizi kullanarak kontrol öğeleri takip etmektir. Bir öğe JQuery $. Mesajı kullanarak bir session.php dosyasına kimliğinizi gönderir ve fikir session.php olduğu kontrol edilir, her zaman iter oturum saklanan dizi ve bir öğeyi unchecking için zıddına. 'Pdf dönüştürmek' butonu tıklandığında JQuery session.php gelen dizi çekiyor ve kimlikleri sorgulamak için kullanır ve tüm PDF dönüştürme şeyler yapar başka bir php sayfasına gönderir.

Benim bilgi boşlukları bir durunda geri JQuery için dizi alabilirsiniz nasılsın beni nerede başarısız. Ben ileri geri istimal bu dizinin bir virgülle sınırlanmış dize sürümünü göndererek çalışma var:

foreach($_SESSION["idsArray"] as $value) {
 $sendme .= $value.",";
}
echo $sendme;

Ben bu verileri almak ve JQuery bunu patlak ama çünkü benim sınırlı bilginin ben sağlam dizi tutacak bir şey kaçırıyorum acaba olabilir?

Teşekkürler.

2 Cevap

Sorunuzu doğru anlamak durumunda ne arıyorsanız json_encode() olduğunu düşünüyorum. Bir json_encode($_SESSION['idsArray']) sonra. $ Ile bu getirme ajax () ve 'json' olarak dataType ayarlayabilirsiniz yaparsanız. Ardından bir dizi otomatik bir JavaScript dizi dönüşmüş olacak.

Öncelikle, dize biçime dizisini almak için php fonksiyonu implode() kullanabilirsiniz.

Darrell dedi, ya da düz <script> etiketleri html ve daha sonra javascript fonksiyonunu kullanarak gibi eval() bir çevirmek için bile daha iyi olsa, sen, JSON ile jQuery dizi gönderebilirsiniz jQuery kullanabilirsiniz dizisi. PHP gibi bir şey olacaktır:

echo '<script type="text/javascript">
    var newArray = new Array();';

foreach($_SESSION['idsArray'] as $value){
    echo 'newArray.push('.$value.');';
}
echo '</script>';

Javascript, bu gibi görünecektir:

$.post(..., function(data){
    eval(data);
    //you can now use the array
});