2017-08-24 102 views
-2

这是我写的第一个php程序。我的Ajax请求看起来没问题,我的状态为200,但没有得到任何回应。为什么这个简单的PHP没有返回响应?

<?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

+4

这就像你的接缝不会在您的文章发送一个“提交”值,$ _ POST [“提交”]是不是isset – MacBooc

+0

谢谢你会建议?将它添加到ajax或将该条件更改为其他内容? – Zachscs

+0

对我来说并不是真的最好练习你的问题,两者都应该工作 – MacBooc

回答

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

,我已经对我的回答进行了编辑 – IsThisJavascript

+0

感谢您为仇恨问题提供了一个很好的答案(haters!)。 – Zachscs

+0

大声笑看着我的代码现在我一定是喝醉了,当我写这个! – Zachscs