Witam serdecznie.
Mam taki oto kod JS:
$('a[href=a_lv_u]').click(function(){ var id=$(this).attr('id'); var lv=$('span[uid='+id+']').html(); $.ajax({ url: "inc/admin/add.php", data: "?id="+id, type: "POST", success:function(msg){ var help=jQuery.parseJSON(msg); if(help.result == 'success') { var lv=$('span[uid='+id+']').html(); lv++; $('span[uid='+id+']').html(lv); showModal('success','Poprawnie zwiększono poziom administratora.'); } else if(help.result == 'query') showModal('warning','Problem z zapytaniem MySQL.'); else if(help.result == 'permission') showModal('danger','Nie masz prawa by to wykonać!'); else if(help.result == 'lvl') showModal('info','Użytkownik ma już maksymalny poziom.'); else showModal('danger','Problem z bazą danych.'); }, error:function(){ alert('error'); } }); return false; });
I do tej funkcji taki kod PHP:
<?php session_start(); require_once('../../../config.php'); require_once('../../../inc/class/user.class.php'); try{ $db=new mysqli($db_host,$db_user,$db_password,$db_base); $user=new User; $userdata=$user->data(); if ($db->connect_errno!=0) { throw new Exception(mysqli_connect_errno()); } else { $id=$_POST['id']; if($userdata['admin']<1) $result=array('result'=>'permission'); elseif($user->GetUserAdmin($id)==5) $result=array('result'=>'permission'); elseif($userdata['nick']==$user->GetUserNick($id)) $result=array('result'=>'permission'); else { if($user->GetUserAdmin($id)>=5) $result=array('result'=>'lvl'); else { $sql="UPDATE `serv_players` SET `admin`=`admin`+1 WHERE `uid`='$id'"; $db->query($sql); if($db->affected_rows) $result=array('result'=>'success'); else $result=array('result'=>'query'); } } $db->close(); echo json_encode($result); return true; } } catch(Exception $e) { $result=array('result'=>'database'); echo json_encode($result); return false; } ?>
Wszystko działa do momentu kiedy rozpoczyna się działanie tego fragmentu:
else { $sql="UPDATE `serv_players` SET `admin`=`admin`+1 WHERE `uid`='$id'"; $db->query($sql); if($db->affected_rows) $result=array('result'=>'success'); else $result=array('result'=>'query'); }
Wtedy JS zwraca mi 500 Internal server error (POST). Na localhost wszystko mi działało. :(
Ma ktoś pomysł jak to rozwiązać? Wciąż się uczę :)