2014-02-15 51 views
-1

公告:未定義指數:確認C:上線\ XAMPP \ htdocs中\保證\ confirmation.php 98PHP未定義指數誤差(新建PHP)

$confirm = $_POST['confirm']; 

<label> Retype Password </label> 

      <input type="password" name="confirm" /> 
+0

通過[這個問題(閱讀https://stackoverflow.com/questions/4261133/php-notice-undefined如果(ifset($ _POST ['confirm']))$ confirm = $ _POST [],那麼就可以知道如何在使用它之前檢查變量或數組鍵是否被設置。 'confirm'];' –

回答

1

你無論是否實際發生表單提交,都可能無條件地運行表單處理代碼。

你需要的東西,如:

<?php 

if ($_SERVER['REQUEST_METHOD'] == 'POST') { 
    if (isset($_POST['confirm'])) { 
      ... a post occured, and the confirm field was submitted 
    } 
} 

... show the form. 
0

你嘗試分配變量$確認$ _ POST值[「確認」]當它沒有被設置。將代碼添加到代碼以避免錯誤。

變化:

$confirm = $_POST['confirm']; 

要:

$confirm = (isset($_POST['confirm'])) ? $_POST['confirm'] : ''; 
+0

您的意思是:'$ confirm = isset($ _ POST ['confirm'])? $ _POST ['confirm']:'';' – Parziphal

+0

這將工作完全一樣,但添加括號是我故意做的事情。 –

+1

@NathanDawson你錯過了'?' – meda

0

你提交表單?

通過協商來通知使用

if(isset($_POST["confirm"]) 
0

請先檢查方式:

  • 你有一個<form> -Tag之前你<input>

    <form method="POST" action="path/to/file.php"><input name="confirm" type="password"> </form>

  • 你有一個按鈕? 如果你碰到這樣的登錄表單,你需要一個按鈕, 「提交」
    <input type="submit">


然後在文件中寫道:

if($ _ SERVER ['REQUEST_METHOD'] =='POST'){ if(isset($ _ POST ['確認']){
/*做你想做的*/
}
}