게시글 삭제 문제
본문
개인적으로 php 공부 중인데요
계속해서 삭제가 안되고해서 답답하네요
일단 소스 는 밑에 보이는것과 같아요
if($mode == 'delete') {
$chk = $_REQUEST['chk'];
if(!$chk) {
alert('항목을 하나 이상 선택하세요.');
}
$i=0;
for ($i=0; $i<count($chk); $i++) {
$k = $_POST['chk'][$i];
if (confirm('선택한 게시물을 정말 삭제하시겠습니까?\n\n한번 삭제한 자료는 복구할 수 없습니다\n\n')) {
return sql_query("DELETE FROM {$base['member_table']} WHERE emp_icode='$k'");
}
}
}
confirm함수는 제가 개인적으로 해서 만든건데요
function confirm($msg){
echo "<script language='javascript'>";
echo "if(confirm(\"$msg\")){ }";
echo "</script>";
}
여기서
if (!confirm('선택한 게시물을 정말 삭제하시겠습니까?\n\n한번 삭제한 자료는 복구할 수 없습니다\n\n')) 라고 만하면 삭제는되는데 취소부분도 같이 누르면 똑같이 삭제되네요 뭔가 문제 있는것같은데..
감이 안잡히네요
답변 2
function confirm($msg){
echo "<script language='javascript'>";
echo "var answer = confirm(\"$msg\")){ }";
echo "</script>";
}
에서 리턴값을 넣으세여
if(answer){
return true;
}else{
return false;
}
크게 착각하시는 것같은데...
php는 서버사이드 언어이고 javascript는 클라이언트사이드 언어입니다.
즉, javascript와 php는 실시간으로 서로 통신을 못합니다. php가 실행이 다 되고 나서 스크립트가 실행되죠.
따라서 confirm이라는 함수의 값이 "<scritp~~~~"의 있으니 무조건 true로 반환될것 같아요. 무조건 실행되거나 오류를 내뱉을 거라 생각이 되는데요.