2012-05-05 5 views
0

Когда я захотел проверить свои файлы на сервере, я получил ошибку (500 Internal Server Error). Все просто отлично работало с маской (локально), и я не получил никаких ошибок. Код с error.500 Внутренняя ошибка сервера php - ajax

<?php 
    include_once('../classes/places.class.php'); 
try 
{ 
    $oPlace = new Places(); 
    $oPlace->Street = $_POST['place']; 
    $oPlace->HouseNumber = $_POST['number']; 
    $oPlace->Name = $_POST['Name']; 
    if($oPlace->placeAvailable()) 
    { 
     $feedback['status'] = "success"; 
     $feedback['available'] = "yes"; 
     $feedback["message"] = "Go ahead, street is available"; 
    } 
    else 
    { 
     $feedback['status'] = "success"; 
     $feedback['available'] = "no"; 
     $feedback["message"] ="De zaak " . "'" . $_POST['name'] . "'". " is reeds op dit adres gevestigd." ;; 
    } 
} 
catch(exception $e) 
{ 
    $feedback['status'] = "error"; 
    $feedback["message"] =$e->getMessage(); 

} 
header('Content-type: application/json'); 
echo json_encode($feedback); 
?> 
+2

Вы проверили, есть ли какие-либо сообщения об ошибках из php? Напишите небольшой скрипт и забудьте скобок или что-то в этом роде. Если вы получите ошибку 500, проверьте ваш php.ini и установите display_errors в положение «Вкл.». – Ahatius

+1

Я разместил ini_set ('display_errors', 1); этот код в моем php-коде, и я получил сообщение об ошибке в нижнем регистре-верхнем регистре :). проблема решена сейчас. Спасибо вам всем! – Niels

ответ

0
$feedback["message"] ="De zaak " . "'" . $_POST['name'] . "'". " is reeds op dit adres gevestigd." ;; 

должно быть больше как

$feedback["message"] ="De zaak " . "'" . $_POST['name'] . "'". " is reeds op dit adres gevestigd." ; 

добавив слишком много полу двоеточие иногда может выдавать ошибку

1

Какая версия PHP это?

Если перед 5.2 вам необходимо установить пакет JSON PECL.

Если 5.20 или новее вы должны проверить, что PHP был скомпилирован без опции --disable-json.

+0

Я согласен с тем, что json_encode является вероятным преступником. – davidethell

-1
<?php 
include_once('../classes/places.class.php'); 
/* This if for debugging */ 
foreach ($_GET as $k => $v) $_POST[$k] = $v; 
// Access in your browser: pathToFilePHPCalled.php?place=SomePlace&number=14&Name=MyName 
$feedback['data'] = $_POST; 
/* This if for debugging */ 

$feedback = array(); 
try 
{ 
    $oPlace = new Places(); 
    $oPlace->Street = $_POST['place']; 
    $oPlace->HouseNumber = $_POST['number']; 
    $oPlace->Name = $_POST['Name']; // Make sure this is $_POST['Name'] and not $_POST['name'] this might be your error 
    if($oPlace->placeAvailable()) 
    { 
     $feedback['status'] = "success"; 
     $feedback['available'] = "yes"; 
     $feedback["message"] = "Go ahead, street is available"; 
    } 
    else 
    { 
     $feedback['status'] = "success"; 
     $feedback['available'] = "no"; 
     $feedback["message"] ="De zaak " . "'" . $_POST['name'] . "'". " is reeds op dit adres gevestigd." ; 
    } 
} 
catch(Exception $e) 
{ 
    $feedback['status'] = "error"; 
    $feedback["message"] =$e->getMessage(); 

} 
header('Content-type: application/json'); 
echo json_encode($feedback); 
?> 
Смежные вопросы