2016-02-05 98 views
2

表單提交後,超級全局變量爲空;然而,得到作品!

下面是代碼:

的index.php

<!DOCTYPE html> 

<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Simple Form</title> 
</head> 
<body> 
<fieldset> 
    <form action="print.php" method="POST" > 
     first name:<input type="text" name="Fname"><br> 
     last name:<input type="text" name="Lname"><br> 
     <input type="submit" name="submit" value="submit"> 
    </form> 
</fieldset> 

</body> 
</html> 

print.php

<?php 
echo $_POST['Fname']; 
echo $_POST['Lname']; 
?> 

相同的代碼工作正常,在我的電腦和打印print.php的東西,但在這裏我提交表單後,Macbook $ _post始終爲空。

我使用IntelliJ IDEA作爲我的IDE與PHP插件。

I use php 7

+1

那麼你的問題是什麼? –

+0

@hmtareque我不能在服務器端使用表單的數據,因爲$ _POST總是爲空,它不是由表單的數據填充。 – Sina

回答

3

的IntelliJ未映射到MAMP服務器。這就是爲什麼PHP解釋,但POST不起作用。爲了將MAMP映射到IntelliJ,使用this guide,它適用於IntelliJ最終版和PhpStorm。

+0

我不明白爲什麼我需要一個MAMP服務器的PHP來接收POST數據。我已經安裝了php的本地副本(包括php-cgi),並且我配置了IntelliJ以在設置 - >語言和框架 - > PHP中使用它。當我在編輯一個php頁面的時候點擊瀏覽器圖標時,該頁面就會出現在Web瀏覽器中。唯一的問題是$ _POST是空的。這聽起來不像我需要MAMP的東西。 (事實上​​,一年前我上一次使用PHP時,類似的配置工作 - 雖然它是IntelliJ 13和PHP 5.6。) – Zack

+0

@Zack這正是我的問題所在。根據「集成Apache服務器」標題下的[本指南](https://confluence.jetbrains.com/display/PhpStorm/Installing+and+Configuring+MAMP+with+PhpStorm+IDE),您會發現IntelliJ需要將您的項目部署到Web服務器,MAMP是爲您的網頁提供服務的本地Web服務器。 IntelliJ本身不是一個Web服務器。它只使用插件將項目部署到Web服務器。 $ _POST爲空的原因是,除非你添加MAMP來爲你做這件事,否則沒有人可以作爲服務器。 – Sina

+0

如果沒有人作爲服務器,那麼爲什麼php頁面的其他方面工作? (我不是爭論,我只是好奇如何一切工作。) – Zack