为什么这个简单的PHP没有返回响应?

时间:2017-08-24 08:24:25

标签: php ajax

这是我写的第一个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程序,所以我确定它是愚蠢的东西。 enter image description here enter image description here

1 个答案:

答案 0 :(得分: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']))     

- &GT;

if(isset($_POST))
相关问题