2014-05-19 3 views
0

데이터베이스 테이블에서 결과를 선택하는 테이블이 있습니다. 각 레코드에는 버튼이 표시됩니다 (DeleteButton). 이 삭제 버튼을 사용하여 선택한 ROW (기록)를 삭제하고 싶습니다. 내 코드는 아래에 제시되어 있습니다. POST/GET이 올바르지 않은 'id'로 문제를 좁혔습니다. 양식이 이드를 올바르게 전달하지 않는다고 생각합니다. 누군가 도울 수 있습니까?PHP 문제 : Delete 버튼이 테이블 행에 에코 됨 GET/POST

테이블 셀의 형태 :

echo "<td>" 
.' 
<form id="DeleteUser" action="DeleteUser.php" method"post"> 
<input type"text" name="id" value=" '.$row['user_id'].' " hidden /> 
<input type="submit" value="Delete"> 
</form> 
'. 
"</td>"; 
echo '</td>'; 

DELETE 문 (DeleteUser) (DeleteUser.php) :

<?php 


$stmt = $con->prepare("DELETE FROM users WHERE user_id = ?"); 
$stmt->bind_param('sissi',$_GET['id']); 
$stmt->execute(); 
$stmt->close(); 


?> 
+0

위의 PHP 코드에 의해 생성 된 HTML을 게시하십시오. – Ejaz

+0

PHP는 빈 html 코드를 생성합니다. – user3247335

+0

폼 제출 메소드를 폼의 POST로 지정했지만'DeleteUser.php'에서'$ _GET'의 값을 읽으려고합니다. '$ _POST' 여야합니다. –

답변

2

$stmt->bind_param 문에 첫 번째 매개 변수는 5 개 가지 매개 변수가 있습니다. 너는 하나만 지나가고있어. 이것을 다음으로 변경하십시오 :

$stmt = $con->prepare("DELETE FROM users WHERE user_id = ?"); 
$stmt->bind_param('i',$_GET['id']); 
$stmt->execute(); 
$stmt->close(); 

$_GET['id']도 int 값이어야합니다.

<input type"text" name="id" value=" '.$row['user_id'].' " hidden /> 줄에 값 = 주위의 공백을 제거하십시오. 그래서 당신은 value="'.$row['user_id'].'"입니다.

에 다른 종류의 숫자를 입력하거나 임의의 번호를 입력하여 다른 사용자를 삭제할 수는 없습니다.

+0

정확히 내가 필요한 것, 고맙습니다. – user3247335