2011-03-07 2 views
1

:는 라디오 버튼 값으로 UPDATE 질의를 사용할 수 없습니다 내가 다음 코드를 사용하여 몇 가지 문제가 있어요

$selected_radiobutton = $_POST['themes']; 
echo " checked : ".$selected_radiobutton."<br/><br/>"; 

$sql = mysql_query("SELECT value FROM variable WHERE name = 'theme_default'"); 
$resultaat = mysql_fetch_assoc($sql); 

echo 'current theme: <b><big>' . $resultaat['value'] . '</big></b><br /><br />';  

if ($_POST["updateknop"]) { 

$sql = "UPDATE variable SET value='".$selected_radiobutton."' WHERE name = 'theme_default'"; 
if (!mysql_query($sql)) { 
    echo "failed"; 
} 
else { 
    echo "Query update: '".$selected_radiobutton."'"; 
} 


} 

그리고 어떤 이유를, 수행, 빈 문자열에 넣어 모든 업데이트 쿼리 데이터베이스 ... 변수를 두 번 사용하는 것이 어렵습니까?

누군가 나를 도와 줄 수 있습니까? :)

타이

+0

echo "checked :". $ selected_radiobutton. "

"; 그것은 무엇을 에코합니까? – Gaurav

+0

라디오 버튼의 선택된 값이 표시됩니다 ... – Michiel

답변

1

라디오 버튼 요소가 이렇게 생겼습니까?

<form method="post" action="file.php"> 
... 
<input type="radio" name="themes" value="defaulttheme" /> 
... 
<input type="submit" name="updateknop" value="send" /> 
</form> 

이 경우 코드가 작동해야합니다.

어쨌든 당신은 definitly이 질문을 실행하기 전에 입력을 피하십시오! mysql_real_escape()이 당신을 도와줍니다! 그렇지 않으면 스크립트가 SQL 인젝션에 취약합니다! MySQL의-쿼리

또 다른 조언이 문자로도 필드 이름을 탈출 :`

당신이 키 같은이 문자없이 파일 이름으로 예약 된 단어를 사용하는 경우, 로그, ... 당신이 오류가 발생합니다!

UPDATE `variable` SET `value` = '".mysql_real_escape($selected_radiobutton)."' WHERE `name` = 'theme_default';
0

신경 쓰지는 자신 :)

스크립트가하는 일을 알아 냈하지만 잘못된 버튼을 눌러 계속했다. 어쨌든 고마워!

0

$ selected_radiobutton을 vardump하고 실제로 $ _POST에서 문자열을 가져 오는 것을보십시오 - 이렇게하면 도움이 될 것입니다.

관련 문제