Problem polega na tym, że raz na kilka razy wykona mi się zawartość w kodzie PHP czyli wykona update na bazie, a w większości razy wyskoczy mi confirm wybieram opcje, że się zgadzam i niby wszystko OK, ale nie wykonuje mi nic na bazie tak jakbym confirma dał na nie.

Poniżej opisany kod:


Funkcja js:
function f_template(f_confirm, f_action, f_site, f_condition)
{
var v_params = "action="+f_action;
var v_xmlhttp;

if (window.XMLHttpRequest)
{
v_xmlhttp = new XMLHttpRequest();
} else
{
v_xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}

if (f_confirm=='')
{
var v_statement = true;
}
else
{
var v_statement = confirm(f_confirm);
}

if (v_statement==true)
{
v_xmlhttp.open("POST","logged.php?subpage="+f_site+f_condition,true);
v_xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
v_xmlhttp.setRequestHeader("Content-length", v_params.length);
v_xmlhttp.send(v_params);
}
setTimeout(function(){

window.location.reload();

},100);
}


Wywołanie w kodzie HTML:
<img src="img/delete.png" alt="delete-icon" onclick="f_template('komunikat', 'delete_garage', 'garage', '&id=<?=$i['id']?>')" title="opis">


Kod PHP:
IF ($_POST['action'] == 'delete_garage')
{
$get_hak = hak_get($_GET['id']); (funkcja sprawdząca czy get jest INTem)

IF ($get_hak == 1)
{
$p_garage_id = $_GET['id'];

$sql = "update na bazie";
mysql_query($sql) OR DIE ('PROBLEM WITH (FUNCTION delete_garage[1])');

$sql = "drugi update na bazie";
mysql_query($sql) OR DIE ('PROBLEM WITH (FUNCTION delete_garage[2])');

$_SESSION['correct'] = "update wykonany"; - zwraca mi komunikat że się udało
}
ELSE
{
$_SESSION['error'] = "wyłapanie prób oszustwa" - zwraca mi komunikat o błędzie
}

echo "<script language='javascript' type='text/javascript'>location.href='index.php'</script>";
}

Wszystko chodziło dobrze, ale po jakimś czasie zaczęło dziać się tak jak u góry w opisie. Zastanawiam się czy nie ma na to wpływu, że tabele znacznie się powiększyły? Nie mam pojęcia już próbowałem wszystkie. Pomożecie?