2012-10-29 2 views
-2

Я хочу сделать изображение, которое можно щелкнуть, и в случае его щелчка я использую $_POST, чтобы получить его значение и использовать его. Это выглядит следующим образом:Входное изображение как кнопка clickable

if (isset($_POST['checked'])){ 
$q = mysql_query("UPDATE table SET checked = 2 WHERE tr_id = ". $_POST['checked']); 
} 

<form action="" method="POST"> 
    <input type="image" src="images/checked.png" name="checked" value="<?php echo $info[0]; ?" /> 
</form> 

Ну в Chrome он работает, но потом я понял, что в IE и Mozilla не работает, может кто-нибудь предложить мне то же самое, но так работает на всех браузерах?

Главное, чтобы это поле значений изображений получало его значение из базы данных с mysql_fetch_row, и я должен использовать это значение в запросе обновления.

+1

Не используйте переменные '$ _POST' непосредственно в ваших MySQL-запросах. Посмотрите на подстановку значений или используйте слой абстракции. – freshnode

+0

Вы уверены, что ваша разметка верна? – Salman

+0

Что произойдет, если '$ _POST ['checked']' имеет значение, подобное: '23 '); Таблица DROP TABLE; - '? Проверьте это: http://bobby-tables.com/ –

ответ

4

Было бы хорошо, если бы вы закрыть двойные кавычки и входной тег:

<input type="image" src="images/checked.png" name="checked" value="<?php echo $info[0]; ?>"> 
0

Вы пропускаете двойные кавычки " и > там в конце: D

value="<?php echo $info[0];"> 
+0

«есть, посмотрите ближе –

+0

Я этого не вижу: value ="

+0

ТАК, если я прав, не дайте мне отрицательную оценку! –

-1

Он должен работать даже в других браузерах, но если вы хотите иметь богатый HTML в своих кнопках, просто придерживайтесь <button>:

<button> 
    <img src="someImg.jpg" alt=""> 
</button> 

Это также отправит ваш <form>.

+0

это не тег ввода –

+0

@IonutFlaviusPogacian '' отправляет поведение кнопки, так как '

+0

все еще не тег входа; Я также получил ответ на вопрос, как вы это делали –

Смежные вопросы