2012-07-14 75 views
0

我是PHP編程的新手,對_SERVER沒有太多詳細的瞭解。 _SERVER關聯數組可用於PHP程序中以通過post方法訪問從HTML表單提交的數據?PHP中的_SERVER和_POST

+0

$ _SERVER只包含QUERY_STRING,它用於GET參數。請重新閱讀相關的[PHP超巨型數據手冊](http://php.net/manual/en/language.variables.superglobals.php)。 – mario 2012-07-14 00:19:52

+3

['$ _SERVER'](http://www.php.net/reserved.variables.server.php)包含有關服務器和HTTP請求的信息。如果表單是一個GET請求(通過查詢字符串),那麼這個信息在'$ _SERVER'中可用,但是發佈的表單數據來自'$ _POST'。 – 2012-07-14 00:20:06

回答

1

不,你想要$ _POST。

$ _ POST讓你發佈的數據

$ _GET讓你得到的數據

$ _REQUEST讓你GET,POST和餅乾

0

當你提交一個表單,您可以使用$ _ SERVER [ ]從服務器獲取信息,如用戶IP地址。表單提交後,您可以使用此功能。您將使用$ _POST []來確保表單已提交併從已提交的表單中收集數據/變量。例如:

if(isset($_POST['submit'])) { 
    $fname = $_POST['fname']; //<input type="text" name="fname" /> 
    $ip = $_SERVER['REMOTE_ADDR']; 
    mysql_query("INSERT INTO ... using variables $fname and $ip...") or die("Error: " . mysql_error()); 
    header("location:?e=1"); //where you would use $_GET[] to tell the page an error message needs to be shown on screen. 
    exit; 
} 
+1

看到此代碼後,您所從事的任何網站都處於嚴重危險之中...無論您做什麼:永遠不要相信網絡 – 2012-07-14 00:38:11

+0

需要謹慎詳細說明嗎?如果我正在做一些可怕的錯誤,我寧願早點修復它! – 2012-07-14 01:22:24

+0

看看這個:http://stackoverflow.com/questions/60174/best-way-to-prevent-sql-injection-in-php – 2012-07-15 03:03:42