2016-02-14 120 views
2

我剛剛安裝了XAMPP和PHP 7.我有一個腳本,以前工作過,但安裝後有一個錯誤。我將展示一個也不起作用的例子。問題出在$ _POST,我想這可能是因爲XAMPP或PHP中的配置。 「上線13 \ XAMPP \ PHP \ WWW \的index.php注意:在d名稱:未定義指數」注意:未定義索引:名稱

<?php 
echo "<form action='check.php' method=\"post\"> 
<input type=\"text\" name=\"name\" > 
<input type=\"submit\" name=\"submit\" value=\"ok\"> 
</form>"; 
if (isset($_POST['submit'])){echo $_POST['name'];} 
if (isset($_POST['name'])) var_dump($_POST['name']); 
?> 

此代碼不返回任何東西,但如果我只是添加echo $_POST['name'];則返回錯誤。我該如何解決它?

+2

[PHP:「通知:未定義變量」和「通知:未定義指數」]的可能的複製( http://stackoverflow.com/questions/4261133/php-notice-undefined-variable-and-notice-undefined-index) – Qirel

+0

嘗試刪除實際上不需要的反斜槓(\) –

+1

我刪除了,而用戶名爲' \「名稱\」。但沒有任何改變。 @ A-2-A –

回答

0

看起來您已經在同一個腳本中爲所有REQUEST_METHOD s編碼。
沒關係,但你必須區分你的反應:

  • 無論是送出去的形式,爲用戶填寫併發送,
  • 或interprete的形式傳輸數據。

嘗試從你採取了這種代碼:

<?php 
    // Check if the form has been transmitted or not 
    if ($_SERVER['REQUEST_METHOD']=='POST') { 
     // A form was transmitted 
     if (isset($_POST['name'])) var_dump($_POST['name']); 
    } else { 
     // Send the form out so the user can transmit it 
     echo "<form action='check.php' method=\"post\"> 
<input type=\"text\" name=\"name\" > 
<input type=\"submit\" name=\"submit\" value=\"ok\"> 
</form>"; 
    } 
?> 
2

@hherger我刪除XAMPP服務器和安裝wampserver用PHP 5.6。現在它顯示了另一個錯誤。

已棄用:自動填充$ HTTP_RAW_POST_DATA已棄用,將在未來的版本中刪除。爲避免此警告,在php.ini中將'always_populate_raw_post_data'設置爲'-1',並改爲使用php://輸入流。在未知在線0

警告:無法修改標題信息 - 在未知的已發送就行頭0