Gera11
@Gera11

Как удалить записи из ячейки в базе данных с помощью AJAX запроса?

Есть вот такой запрос AJAX:
function delCompares() {
    ShowLoading("");
    $.get(dle_root + "engine/ajax/compare.php", {fav_id:'1', action:'delete', skin:dle_skin}, function(b) {
        HideLoading("");
        if( b != 'ok' ) DLEalert(b, dle_info);
    });
    return false;
}

Если я правильно понял.
engine/ajax/compare.php - Это обращение к обработчику с функциями.

А вот содержимое этого обработчика:
<?php
if(!defined('DATALIFEENGINE')) {
	header( "HTTP/1.1 403 Forbidden" );
	header ( 'Location: ../../' );
	die( "Hacking attempt!" );
}
if( !$is_logged ) die( "error" );
$id = intval( $_REQUEST['compare_id'] );
if( !$id OR $id < 1) die( "error" );
if( $_REQUEST['user_hash'] == "" OR $_REQUEST['user_hash'] != $dle_login_hash ) {
	die ("error");
}
if( $_REQUEST['action'] == "plus" ) {
	$error = "";
	$list = explode( ",", $member_id['compare'] );
	if (count(explode("," , $member_id['compare'])) > 11) {
        $error = "stop";
    }
    foreach ( $list as $daten ) {
        if( $daten == $id ) $error = "stop";
    }
	if( $error != "stop" ) {
		$list[] = $id;
		$compare = $db->safesql(implode( ",", $list ));
		if( $member_id['compare'] == "" ) $compare = $id;
		$member_id['compare'] = $compare;
		$db->query( "UPDATE " . USERPREFIX . "_users SET compare='{$compare}' WHERE user_id = '{$member_id['user_id']}'" );
	}
	if ( $_REQUEST['alert'] ) $buffer = $lang['fav_plus'];
	else $buffer = "<img src=\"" . $config['http_home_url'] . "templates/{$config['skin']}/dleimages/minus_fav.gif\" onclick=\"doCompare('" . $id . "', 'minus'); return false;\" title=\"" . $lang['news_minfav'] . "\" style=\"vertical-align: middle;border: none;\" />";
} elseif( $_REQUEST['action'] == "minus" ) {
	$list = explode( ",", $member_id['compare'] );
	$i = 0;
	foreach ( $list as $daten ) {
		if( $daten == $id ) unset( $list[$i] );
		$i ++;
	}
	if( count( $list ) ) $member_id['compare'] = $db->safesql(implode( ",", $list ));
	else $member_id['compare'] = "";
	$db->query( "UPDATE " . USERPREFIX . "_users SET compare='{$member_id['compare']}' WHERE user_id = '{$member_id['user_id']}'" );
	if ( $_REQUEST['alert'] ) $buffer = $lang['fav_minus'];
	else $buffer = "<img src=\"" . $config['http_home_url'] . "templates/{$config['skin']}/dleimages/plus_fav.gif\" onclick=\"doСompare('" . $id . "', 'plus'); return false;\" title=\"" . $lang['news_addfav'] . "\" style=\"vertical-align: middle;border: none;\" />";
} elseif( $_REQUEST['action'] == "delete" ) {
    $db->query( "UPDATE " . USERPREFIX . "_users SET compare='' WHERE user_id = '{$member_id['user_id']}'" );
    $buffer = "ok";
} else
    die( "error" );
$db->close();
echo $buffer;
?>


Но почему-то вся эта комбинация не срабатывает. Просто в ответ подгружает главную страницу вместо окна с сообщением. В чем может быть проблема?
  • Вопрос задан
  • 20 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы