2017-08-24 13 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あなたのポストに「提出」の値を送信していないです[「提出」]あなたが示唆している何 – MacBooc

+0

おかげISSETされていませんか?それを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";  

また、機能の下部にある2番目のエコーで$employeeの他のコールを交換したいと思うでしょう。

Macboocが正しく指摘したように、$_POST['submit']をフォームに送信していない可能性があります。

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

- >

if(isset($_POST)) 
+0

を参照してください。私の回答を編集しました – IsThisJavascript

+0

嫌われた質問に対する偉大な答えをお寄せいただきありがとうございます。 – Zachscs

+0

私のコードを見ている笑今、私はこれを書いたときに酔っていたに違いない! – Zachscs

関連する問題