Почему этот простой PHP не возвращает ответ?

-2

Это первая программа php, которую я написал. Мои запросы Ajax выглядят хорошо, и я получаю статус 200, но не получаю никакого ответа.

<?php

class Employee{
    private $fn;
    private $ln;
    private $dpt;
    private $ID;
}

function newEmployee(){
    $employee = new Employee();
    $fn = $_POST['firstname'];
    $ln = $_POST['lastname'];
    $dpt = $_POST['department'];
    $id = sprintf('%08d', $GLOBALS['$ID']);
    $GLOBALS['$ID'] = $GLOBALS['$ID'] + 1;

    echo "First Name: $employee\nLast Name: $ln\nDepartment: $dpt\nID: $id";

    $employee -> fn = $_POST['firstname'];
    $employee -> ln = $_POST['lastname'];
    $employee -> dpt = $_POST['department'];

    $GLOBALS['$employeeArray'][]= $employee;

    $GLOBALS['$numOfEmployees'] = $GLOBALS['$numOfEmployees'] + 1;
    $numemployees = $GLOBALS['$numOfEmployees'];

    echo "First Name: $employee\nLast Name: $ln\nDepartment: $dpt\nID: $id\nNumber of Employees: $numemployees";


}

if(isset($_POST['submit']))
{
   newEmployee();
}

$employeeArray = array();
$ID = 0;
$numOfEmployees = 0;

?>

Буквально моя первая PHP-программа, поэтому я уверен, что это что-то немое. Изображение 174551 Изображение 174551

  • 4
    это похоже на то, что вы не отправляете значение 'submit' в своем сообщении, поэтому $ _POST ['submit'] не isset
  • 0
    Спасибо, что бы вы предложили? Добавление его в ajax или изменение этого условия на что-то другое?
Показать ещё 5 комментариев
Теги:

1 ответ

1
Лучший ответ

Из-за этой строки ваш код разбивается:

 echo "First Name: $employee\nLast Name: $ln\nDepartment: $dpt\nID: $id";

Что происходит, вы пытаетесь вывести свой $employee = new Employee(); как строка, когда она является объектом. Таким образом, PHP ломается здесь и не хочет продолжать просматривать остальную часть вашего кода.

Может, ты так хотел?

 echo "First Name: $fn\nLast Name: $ln\nDepartment: $dpt\nID: $id";      

Вы также захотите заменить другой вызов $employee во втором эхо в нижней части функции.

Как правильно указал Macbooc, вы не отправляете $_POST['submit'] в свою форму, может быть, изменить его так?

if(isset($_POST['submit']))     

->

if(isset($_POST))
  • 0
    Теперь я вижу, я внес изменения в свой ответ
  • 0
    Спасибо за отличный ответ на ненавистный вопрос (от ненавистников!).
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню