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

500 Internal server error ajax

Object Storage Arubacloud
0 głosów
2,035 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ź 317 wizyt
pytanie zadane 17 grudnia 2017 w JavaScript przez ThePatrykOOO Dyskutant (8,400 p.)
0 głosów
2 odpowiedzi 237 wizyt
pytanie zadane 11 maja 2017 w PHP przez dkarski Obywatel (1,610 p.)
0 głosów
1 odpowiedź 355 wizyt
pytanie zadane 19 lipca 2016 w Sieci komputerowe, internet przez Dash Nałogowiec (29,650 p.)

92,568 zapytań

141,422 odpowiedzi

319,629 komentarzy

61,956 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...