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ę :)