Просмотр сниппета

phz: 15 Декабря 2009 11:12:33

Удаление полей

Запрос, удаление

//delete[cat_4]  <input type='image' name='delete[cat_4]' src=''>
if(isset($_POST['delete']))
{
	$tmp = array_keys($_POST['delete']);
	list($delete, $del_id) = explode("_", $tmp[0]);
}
 
if ($delete == "tovar" && $del_id)
{
	//Удаляем файл картинку
	$delete_img = mysql_query("SELECT `foto` FROM `tovar` WHERE `id` = '".$del_id."' LIMIT 1");
	$lineimg = mysql_fetch_assoc($delete_img);
	$file = $_SERVER['DOCUMENT_ROOT']."img/".$lineimg[foto];
	unlink($file);
 
	//Удаляем поле в базе
	$delete = mysql_query("DELETE FROM `tovar` WHERE `id` = '".$del_id."' LIMIT 1");
	if($delete && $file){
	header ("location: http://".$_SERVER['HTTP_HOST']."/admin/");
	}else{ exit("Не могу удалить!");}
	unset($delete, $del_id);
}

  • Digg it!
  • Delicious
  • +МоёМесто.ru
  • Добавить страницу к Мистеру Вонгу
  • Добавить страницу к Мистеру Вонгу

Комментарии КОММЕНТАРИИ (1)

 16 Декабря 2009 14:09:48 |  # 

Поле id можно не брать в одинарные кавычки. Т.е. SQL устроит id=24 например. А у Вас id='24' получится. Кроме того с целью предотвращений иньекций, все же лучше делать intval($del_id) при формировании тела SQL-запроса. Еще - зачем формировать параметр вида: delete[cat_4], почему бы просто delete[4] не передать? проще же обрабатывать будет.

Зарегистрируйтесь или выполните Вход для того чтобы оставлять комментарии