2013-01-02 43 views
-2

我有一個$_POST索引被定義,但得到錯誤消息,它沒有被定義。

下面的代碼:

if (isset($_POST['submit']) AND ($_POST['userid']) AND ($_POST['firstname']) AND ($_POST['lastname']) AND ($_POST['address']) AND ($_POST['ZIP']) AND ($_POST['phonenumber']) AND ($_POST['mail']) AND ($_POST['group'])) 
     { 
     $result = $this->sendEmail(
      $_POST['userid'], '[email protected]', '[email protected]', $_POST['firstname'], $_POST['lastname'], $_POST['address'], $_POST['ZIP'], $_POST['phonenumber'], $_POST['mail'], $_POST['group'] 
     ); 
+1

哪個索引未定義? –

+2

什麼是確切的錯誤信息? –

+0

從if中的每個'$ _POST'應用'isset()'。 – j0k

回答

1

每個$_POST應用isset()裏面你是否:

if (isset($_POST['submit']) AND 
    isset($_POST['userid']) AND 
    isset($_POST['firstname']) AND 
    isset($_POST['lastname']) AND 
    isset($_POST['address']) AND 
    isset($_POST['ZIP']) AND 
    isset($_POST['phonenumber']) AND 
    isset($_POST['mail']) AND 
    isset($_POST['group'])) 
{ 
    $result = $this->sendEmail(
    $_POST['userid'], 
    '[email protected]', 
    '[email protected]', 
    $_POST['firstname'], 
    $_POST['lastname'], 
    $_POST['address'], 
    $_POST['ZIP'], 
    $_POST['phonenumber'], 
    $_POST['mail'], 
    $_POST['group'] 
); 
0

你可以這樣寫這個 -

if (isset($_POST['submit']) AND 
     isset($_POST['userid']) AND $_POST['userid'] != "" AND 
     isset($_POST['firstname']) AND $_POST['firstname'] != "" AND 
     isset($_POST['lastname']) AND $_POST['lastname']!= "" AND 
     isset($_POST['lastname']) AND $_POST['lastname']!= "" AND 
     isset($_POST['address']) AND $_POST['address'] != "" AND 
     isset($_POST['ZIP']) AND $_POST['ZIP'] != "" AND 
     isset($_POST['phonenumber']) AND $_POST['phonenumber'] != "" AND 
     isset($_POST['mail']) AND $_POST['mail'] != "" AND 
     isset($_POST['group']) AND $_POST['group'] != "") 
     { 
     $result = $this->sendEmail(
      $_POST['userid'], '[email protected]', '[email protected]', $_POST['firstname'], $_POST['lastname'], $_POST['address'], $_POST['ZIP'], $_POST['phonenumber'], $_POST['mail'], $_POST['group'] 
     ); 
+0

嗨Suresh,我試過你的建議,但也沒有成功:( – Krystian

0

你可以用這樣也。

if (isset($_POST['submit']) && isset($_POST['userid']) && isset($_POST['firstname']) && isset($_POST['lastname']) && isset($_POST['address']) && isset($_POST['ZIP']) && isset($_POST['phonenumber']) && isset($_POST['mail']) && isset($_POST['group'])) 

      { 
       $result = $this->sendEmail(
       $_POST['userid'], '[email protected]', '[email protected]', $_POST['firstname'], $_POST['lastname'], $_POST['address'], $_POST['ZIP'], $_POST['phonenumber'], $_POST['mail'], $_POST['group'] 
      ); 
      } 
+0

)如果我操作除按鈕之外的窗體,我會通過這個腳本併發生大量的錯誤,你需要檢查所有的帖子 –

0

首先,我建議對HTML本身的檢查,我認爲方法設置爲POST,因爲其餘的都是工作,但仔細檢查是安全的!然後,另一個很大的錯誤是,當你在輸入中輸入名稱字段時,你搞砸了。檢查html上的所有名稱以確保它們拼寫正確。此外,請確保您擁有所有結束標籤和開標籤,以及開/關報價。

另外不要忘記添加isset()以上所有的東西。你也可以創建一個更好的功能,如

function checkSet($var){ 
     if(isset($var) && $var != ""){ 
      return $var; 
     }else{ 
      return false; 
     } 
} 

這將檢查它是否爲空字符串,以及是否定義。很有用。如果你喜歡,你也可以通過做返回修剪($ var)來修剪它。