• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

500 Internal server error ajax

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
0 głosów
2,138 wizyt
pytanie zadane 29 września 2016 w Sieci komputerowe, internet przez Kaspian12 Nowicjusz (120 p.)

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

1 odpowiedź

0 głosów
odpowiedź 29 września 2016 przez winiardesign Gaduła (3,930 p.)
Podaj treść błędu, najlepiej sprawdź w logach co dokładnie powoduje ten  błąd.

Ja kiedyś jak miałem taki błąd to miałem nieodpowiednie uprawnienia do zapisywania plików. Ja to miałem na serwerze IIS pisałem w C#.
komentarz 29 września 2016 przez Kaspian12 Nowicjusz (120 p.)

"Failed to load resource: the server responded with a status of 500 (Internal Server Error)"

Uprawnienia plików są w porządku. Gdzie znajdę logi serwera jeśli posiadam Apache/2.2.22 (Debian)?

komentarz 29 września 2016 przez Kaspian12 Nowicjusz (120 p.)
Dziękuję za pomoc. Wystarczyło sprawdzić logi serwera, aby ujrzeć mój idiotyczny błąd.

Problemem był brak funkcji (nie zaktualizowałem pliku na serwerze). Taka głupota, tyle kosztowała :P
komentarz 29 września 2016 przez winiardesign Gaduła (3,930 p.)
Logi przydatna rzecz...

Podobne pytania

0 głosów
1 odpowiedź 422 wizyt
pytanie zadane 17 grudnia 2017 w JavaScript przez ThePatrykOOO Dyskutant (8,400 p.)
0 głosów
2 odpowiedzi 340 wizyt
pytanie zadane 11 maja 2017 w PHP przez dkarski Obywatel (1,610 p.)
0 głosów
1 odpowiedź 568 wizyt
pytanie zadane 19 lipca 2016 w Sieci komputerowe, internet przez Dash Nałogowiec (29,650 p.)

93,440 zapytań

142,431 odpowiedzi

322,678 komentarzy

62,802 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

...