2011-12-04 6 views
0

내 데이터베이스에서 mysql 문을 실행하기 위해 한 페이지에서 다른 페이지로 선택된 확인란 값을 전달하려고합니다.한 페이지에서 다른 페이지로 확인란의 값을 전달하는 방법은 무엇입니까?

HTML을

<form method='POST' action='move_compaudit.php'> 
<input type='hidden' name='checkbox' value='0'/> 
<input type='checkbox' name='checkbox' value='1'/> 

PHP (이 파일이라고 move_compaudit.php)

<?php 
    include('include/dbConnection.php'); 
    $checkbox = isset($_POST['checkbox']) ? 'Set' : 'NotSet'; 
    //SQL statement 
    $query = "SELECT * FROM compaudit;"; 
    $results = mysqli_query($dbc,$query) or die('Error querying database'); 
    $row = mysqli_fetch_array($results); 
    $query1 = "DELETE FROM compaudit WHERE serial_no = $row[7] AND $checkbox = 'Set'";  
    //Execute prepared MySQL statement 
    //$results1 = mysqli_query($dbc,$query1) or die('Error querying database'); 
    print_r($query); 
    print_r($query1); 
?> 

가 잘못 인쇄 된 내 쿼리 : :이 매번 얻을 이 내가 가진 무엇 클릭 또는 클릭하지 않음).

SELECT * FROM compaudit;DELETE FROM compaudit WHERE serial_no = 12345 AND Set = 'Set' 
+0

컴파일 테이블의 열을 설정 하시겠습니까? – mqsoh

답변

1

그대로 HTML을 유지하려면 설정되어 있는지 확인하는 대신 $ _POST [ 'checkbox']의 실제 값을 확인해야합니다. 숨겨진 필드는 체크되지 않은 경우에도 $ _POST에 여전히 "checkbox"값을 가져옵니다.

<?php 
include('include/dbConnection.php'); 
$checkbox = ($_POST['checkbox'] == '1') ? 'Set' : 'NotSet'; 
.... 
+0

ZOMG BANCHES 고맙습니다! 비어있었습니다 ($ _ POST [ 'checkbox']); 내가 놓친 것 – MrDrewskii

+0

@ user1055753 문제 없습니다. 이것이 당신의 질문에 대답한다면, 자유롭게 "받아 들여"보십시오. :). (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work.) – Bryan

0

Set 당신이 체크 박스 전에이 같은 이름을 가진 숨겨진,이 변수는 isset에 영원히 사실 것입니다 선언 할 경우`

+0

clicked/notclicked를 사용하지 마십시오. – MrDrewskii

0

으로 탈출한다 : MySQL의에서 키워드입니다.

@GameBit 팁을 살펴보고 필드를 역 인용 부호로 이스케이프하고 쿼리에 사용하기 전에 모든 변수를 인용/이스케이프합니다.

+0

그래서 다음으로 변경했습니다 : $ checkbox = isset ($ _ POST [ 'checkbox'])? 'Clicked': 'NotClicked'; 여전히 기본값 Clicked – MrDrewskii

관련 문제