먼저이 질문에 대한 질문이 나오면 제가 사과드립니다. 지난 12 시간 동안 수백 개의 포럼 스레드를 거쳐이 질문에 대한 답변을 찾지 못했습니다. 정확하게 아직 여기에 간다.PHP가 폭발하여 첫 번째 배열 값을 제거합니다.
사용자가 로그인 할 때 자동으로 채워지는 사용자 목록이있는 페이지가 있으며 각 사용자는 호스트가 사용자를 선택하고 필요할 경우 제거하도록 허용하는 확인란을 가지고 있습니다. jQuery를 사용하여 문자열을 폭발시키려는 PHP 페이지에 배열 문자열을 보내고 userids를 거쳐 전달 된 ID를 데이터베이스에서 제거합니다. 둘 이상의 사용자를 선택하지 않으면 모두 잘 작동합니다. 둘 이상의 사용자를 선택하고 PHP 처리기에 배열을 전달하면 배열을 폭발 시키지만 배열의 마지막 값만 유지하며 그 나머지는 스크립팅의 블랙홀 어딘가에서 손실됩니다. 여기
내 자바 스크립트 페이지에서 내 코드입니다 :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);
}
이 배열은 다음에 의해 처리하는 페이지를 제어하는 PHP로 전달됩니다
: 내 자바 스크립트에서 볼 수 있듯이
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';
}
}
, 나는 내가 보낸 정보가 올바른지 확인 할 수 있도록 경고를 설정했습니다. 경고에서 알 수있는 바로는 ","
의 구분 된 배열이므로 PHP 측에서이를 사용하고 있습니다.
나는 foreach 루프를 통해 이것을 실행할 때 배열의 마지막 항목의 값만 가져 오는 이유를 알아 내려고 노력하고 있습니다.
어떤 도움을 주시면 감사하겠습니다. 향후 머리말을 쓰는 데 도움이 될 것입니다.
감사
답장을 보내 주셔서 감사합니다, 나는 PHP 스크립트로 갈 때, 나는 "if"문을 통해 변수를 실행할 때 보내지고있는 전체 배열에 액세스 할 수없는 것처럼 보였습니다. 단일 값으로 인식됨. –
좋아, 내가 다시 가져가, 난 그냥 제대로 설정하지 않았다면 PHP로 배열로 인식하기 위해 괄호 안에 공백이 필요하다. 일단 내가 한 일은 매력처럼 작동했다. 정말 고마워! –
안녕하세요. 내 대답을 올바르게 업데이트하고 싶습니다. 그래서 del_ids [] "'가 필요하다고 말하고 있습니까? –