2009-06-24 253 views
1

我知道這是php的全局變量,但我不確定它是做什麼的? 我也從官方的PHP網站閱讀,但不明白。

+2

我知道這是挑剔的,但PHP是指它作爲一個超全局:)。 – 2009-06-24 17:37:30

+0

確實,它是超全球的。 – 2010-02-09 22:46:26

回答

5

您可能需要在PHP的基礎知識,閱讀起來。嘗試閱讀一些入門教程。

$_POST是一個變量,用於抓取通過Web表單發送的數據。

這裏的描述$_POST,以及如何從W3School使用的是一個簡單的頁面:PHP $_POST Function

基本上是:

使用HTML你這樣的第一頁上:

<form action="submit.php" method="post"> 
    Email: <input type="text" name="emailaddress" /> <input type="submit" value="Subscribe" /> 
</form> 

然後在submit.php使用的東西像這樣:

<? 
    echo "You subscribed with the email address:"; 
    echo $_POST['emailaddress']; 
?> 
0

它包含從HTML表單發佈到此腳本的任何值。

+0

你的意思是,我們從html發佈的東西,它會保存這些值 – 2009-06-24 17:37:09

+0

這隻有在使用POST類型的表單時纔是正確的。實際上,HTML表單僅僅是HTTP POST請求的抽象,這是$ _POST中的數據實際來自的地方。 – 2009-06-24 17:38:51

+0

任何來自

form內的輸入內容:) – 2009-06-24 17:38:55

1

它用於通過POST發送到您的頁面來存儲CGI輸入。

例子:

 

Your page contains: 

<form action="welcome.php" method="post"> 
Name: <input type="text" name="fname" /> 
Age: <input type="text" name="age" /> 
<input type="submit" /> 
</form> 


One the user submits the values input into the form, you can access those variables through $_POST using the names you provided for the input tags. 

Welcome <?php echo $_POST["fname"]; ?>!<br /> 
You are <?php echo $_POST["age"]; ?> years old. 

1

$ _POST用於檢索通過POST請求傳遞給頁面的值。

例如,您的頁面使用表單將數據傳遞到應用程序中的另一個頁面。您的表單將有

<form method="post"> 

通過POST傳遞這些值。

它與$ _GET匹配,它們對GET請求執行相同的功能。

如果你希望能夠引用是GET/POST值,可以使用$ _REQUEST

1

您可以從形式捕獲後的值:

例子:

<form method="POST"> 
    <input type="text" name="txtName" value="Test" /> 
</form> 

要獲得您將使用:

$_POST["txtName"]; 
1

它包含通過HTTP發送的數據,這通常是f從一個HTML表格。

<form action="page.php" method="post"> 
<input type="text" name="email" ...> 
... 
</form> 

將可以訪問由

$_POST["email"] 
1

它包含了通過POST方法提交的數據,只有POST方法,通過對GET方法提交的數據。 $ _REQUEST超全局變量包含$ _POST和$ _GET數據。

1

當數據通過表單服務器發佈,那麼你訪問它通過$ _POST數組:

<form method="post"> 
    <p><input type="text" name="firstname" /></p> 
    <p><input type="submit" /></p> 
</form> 

-

<?php 

    if ($_POST) 
    print $_POST["name"]; 

?> 

並非所有數據都通過$ _ POST進入天堂。文件上傳通過$ _FILES完成。

4

通常有2種方式發送HTTP請求到服務器的:

  • GET
  • POST

假設你有一個頁面上的<形式>。

 
<form method="post"> 
    <input type="text" name="yourName" /> 
    <input type="submit" /> 
</form> 

注意窗體的「method」屬性設置爲「post」。所以在接收這個HTTP請求的PHP腳本中,當提交這個表單時,$ _POST ['yourName']將具有值。

如果您曾使用GET方法,在您的形式:

 
<form method="get"> 
    <input type="text" name="yourName" /> 
    <input type="submit" /> 
</form> 

然後$ _GET [「YOURNAME」]將通過形式發送的值。

$ _REQUEST ['yourName']包含所有已發佈的變量,無論它們是通過GET還是POST發送的。

1

根據Hypertext Transfer Protocol specifications的定義,客戶端(Web瀏覽器)可以對資源(Web服務器)進行多種類型的請求。

兩種最常見的Web請求類型是GET和POST。根據收到的Web請求類型,PHP會自動將任何客戶端請求數據加載到全局數組$_GET$_POST中。請求的類型對Web瀏覽器的用戶而言是透明的,並且僅基於頁面中發生的事情。但是,通常,您點擊的任何常規鏈接都會生成GET請求,並且您提交的任何表單都會生成POST請求。

如果你點擊進入「http://example.com/index.php?x=123&y=789」鏈接,然後index.php爲擁有它的$_GET陣列填充$_GET['x'] = '123'$_GET['y'] = '789'

如果您提交具有以下結構形式:

<form action="http://example.com/index.php" method="post"> 
<input type="text" name="x"> 
</form> 

然後接收程序的index.php,都會有它的$_POST陣列填充$_POST['x'] = 'whatever you typed into the textbox named x';

1

將數據從表單發送到Web應用程序GET和POST有兩種方法。

GET發送數據作爲URL字符串的一部分:http://www.example.com/get.html?fred=1&sam=2是一個看起來像什麼的例子。在所有處理中使用它都存在一些問題,其中最大的一個問題是每個瀏覽器對查詢字符串的最大長度都不相同,因此您可能會截斷數據。

POST將它們從URL中單獨發送。您避免使用短長度限制,並且可以使用POST發送二進制或加密數據。

在上面的第一個示例中,PHP可以檢索由$ _GET ['fred']和$ _GET ['sam']發送的值。如果表單是POST的,你可以使用$ _POST。

如果你想知道你應該使用哪種方法,start here