2012-06-07 391 views
0

我剛開始學習PHP。我發現,$ _ POST變量不工作,並張貼在相同以下鏈接Php初學者指導

$_POST[] not working in php

,並按照勸我安裝XAMPP。但是仍然沒有解決$ _POST變量的問題。

現在我懷疑我是否需要配置任何全局變量來使$ _POST工作。我完全失去了這一點,不知道如何繼續。

對此的任何幫助都非常讚賞。

下面是HTML代碼 - report.html

<html> 
<title></title 
<head></head> 
<body> 
     <form action="report.php" method="POST" > 
<label for="firstname">First name:</label> 
<input type="text" id="firstname" name="firstname" value="TestOnly" /><br /> 
</form> 
</body> 
</html> 

和下面是PHP代碼 - report.php

<html> 
<head> 

</head> 
<body> 

<?php 
    print($_POST['firstname']); 

?> 
</body> 
</html> 

下面是我從鉻網絡數據得到了視圖

enter image description here 謝謝。

+0

你可以在這裏粘貼你的代碼,以便我們可以發現代碼中是否有任何錯誤。 – Jebin

+0

這麼多的線索..另外,你以前的問題是相當新的;這是一個捷徑嗎? – 2012-06-07 04:34:22

+0

試試我的源代碼,並檢查是否事情工作正常? –

回答

0

你有沒有嘗試過,如果你的PHP是正確的?

<?php 
    phpinfo(); 
?> 

<?php 
    print_r($_POST); 
?> 
+0

phpinfo()不會提供任何有意義的信息,我可以告訴。 POST和GET屬於Apache的範圍,而不是PHP。 – nageeb

+0

@OscarSan - 它顯示的只是一個空白頁面。但是在Xamppp面板中有一個鏈接到phpinfo,當它被點擊時在xampp瀏覽器中顯示信息 – luckyluke

+0

你是否以根用戶身份安裝了xampp? htdoc文件夾有權獲得其他人的權利? – OscarSan

0

有幾件事情要檢查:除非表格已提交(發佈),該腳本

  • 您的腳本將有POST陣列中的任何數據。
  • 如果您有一個腳本並且它正在提交,請確保表單的開始標記中包含method =「Post」。如果您的表單在結果腳本中提交,並且在地址欄中看到一堆由&符號分隔的變量(&),那麼它使用GET而不是POST。確保你在form標籤中有上面的語句method =「Post」。
  • 如果您已經提交了腳本,但仍然無法看到任何內容,請嘗試在目標腳本的頂部添加print_r($ _ POST)或var_dump($ _ POST)以查看$ _POST數組的轉儲。如果這不給你什麼,請嘗試var_dump($ _ REQUEST)並查看你的表單數據是否顯示在那裏。
1

看,試試這個。 index.htm文件的

來源:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
     <title>POST</title> 
    </head> 

    <body> 
     <form method="post" action="post.php"> 
      <input type="text" name="name" /> 
      <input type="submit" name="submit" value="submit"> 
     </form> 
    </body> 
</html> 

post.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> 
    <title>Output</title> 
</head> 
<body> 
    <?php 
     if(isset($_POST["name"])) 
      echo "You have posted " . $_POST["name"]; 
     else 
      echo "Nothing has been set!"; 
    ?> 
</body> 
</html> 

源現在嘗試保存同一個目錄下的這兩個文件。在文本框中輸入內容並點擊提交。讓我們知道你有什麼。

+0

我用你的上面的代碼,它顯示一個空白頁。 – luckyluke

+0

好的,現在將其添加到頁面的頂部,讓我們知道輸出是什麼:'ini_set('display_errors',1);' –

+0

仍然是空白頁面。我已經從上面的chrome發佈了網絡數據的屏幕截圖。在'表單數據'標籤下的Intresting,你可以看到我發佈在html文件中的數據。還有一件事是我使用xampp,但在其顯示asp.net cookie的截圖中;是對的嗎 ? – luckyluke

0

你的代碼是什麼?在默認情況下,$ _POST設置在每個服務器上都處於活動狀態,除非服務器出於政治原因忽略發佈的數據。我認爲你錯就錯在你的代碼,不改變XAMP設置

0
  1. 沒有改變PHP的設置
  2. 要麼你都使用get方法在HTML文件和使用後的操作文件你應該使用後。