PHP ilk dizi değeri kaldırıyor patlayabilir

2 Cevap php

Tamam, ilk kapalı, ben bu soru daha önce sorulmuş, ben forum konuları yüzlerce eleme son 12 saat geçirdim ve bu yüzden buraya tam olarak henüz bu soruya bir bulamadım applogize.

Ben bu kullanıcılar oturum olarak autopopulated bir userlist vardır ve her kullanıcıların ev sahibi kullanıcıları seçmek ve gerekirse bunları kaldırıldı sağlayan bir onay kutusu bulunur yerleşik bir sayfa var. Ben kullanıcı kodları ile yürüyüş ve bizim veritabanından geçti kimlikleri çıkartın, ben dize patlamaya çalışılıyor bir php sayfasına bir dizi dize göndermek için jQuery kullanıyorum. Birden fazla kullanıcı seçmek sürece hepsi son derece iyi çalışıyor. Birden fazla kullanıcı seçmek ve php işleyicisi dizi geçirdiğinizde, bu dizi patlar ama sadece dizideki son değer, gerisi yerde scripting karadelik kaybolur tutar.

İşte benim javascript sayfasından benim kod:

function rem_user() {  
var ids = $('input:checkbox[id=del]:checked').map(function(){
    return this.value
}).get();
alert(ids);
jQuery("#rem_msg").load(controlpage, {AdmFnc: "rem_user", del_ids: ids}, getUsers);
}

Bu dizi o tarafından işlenir php kontrol sayfasına geçirilir:

if (strcmp($AdmFnc, rem_user) == 0){
echo "";
$ids = trim($_POST['del_ids']);
$ids = explode(',',$ids);
if(is_array($ids)){
   foreach($ids as $userid){
      mysqli_query($dbc, "UPDATE webcastlogin SET logoutTime = '$current_time' WHERE userid = '$userid'") or die('Error setting logout time '.mysqli_error($dbc));
      mysqli_query($dbc, "DELETE FROM weekly_users WHERE userid = '$userid'") or die('Error removing users '.mysqli_error($dbc));
    }
    echo 'Selected IDs removed';
} else if (empty($ids)) {
    echo 'Code is wrong, no array sent';
} else {
    mysqli_query($dbc, "UPDATE webcastlogin SET logoutTime = '$current_time' WHERE userid = '$ids'");
    mysqli_query($dbc, "DELETE FROM weekly_users WHERE userid = '$ids'");
    echo 'Selected ID removed';
}
}

O yüzden benim javascript görebileceğiniz gibi, öylesine i gönderilen bilgilerin doğru olup olmadığını kontrol edebilirsiniz kurmak bir uyarı var, Bildiğim kadarıyla bu uyarıdan söyleyebilirim, bir "," ayrılmış dizisi ne Bunu patlamaya php tarafında kullanıyorum.

Ben foreach döngüsü aracılığıyla bu çalıştırdığınızda ben sadece dizideki son öğenin değerini almak neden anlamaya çalışıyorum benim fikir sonunda duyuyorum.

Herhangi bir yardım büyük mutluluk duyacağız ve gelecekteki bazı kodlama challanges için saçımı kaydedebilirsiniz.

Teşekkürler

2 Cevap

Sadece del_ids in için anahtar adını değiştirmek jQuery load parantez boş bir dizi dahil etmek çağırır:

jQuery("#rem_msg").load(controlpage, {AdmFnc: "rem_user", "del_ids[ ]": ids}, getUsers);

Bunun yerine, trim ve explode kullanarak bunları doğrudan erişebilirsiniz böylece Şimdi, PHP, değerleri zaten, bir dizi olacak:

$ids = $_POST['del_ids'];