2012-02-23 38 views
0

我的代碼如下;不能讓PHP有條件的「if」工作HTML

  <select class="reg_field_field" id="user_address_state" name="user_address_state" tabindex="7"> 
       <option value="AL" <?php if($state=='AL') echo 'selected';?>/>Alabama</option> 
       <option value="AK" <?php if($state=='AK') echo 'selected';?>/>Alaska</option> 
       <option value="AZ" <?php if($state=='AZ') echo 'selected';?>/>Arizona</option> 
     ....  
      </select> 

而結果是顯示我而不是狀態名稱,它顯示「通知:未定義的變量...」。

我試過這在其他服務器和工作,可能是php.ini配置??? 什麼可以在php.ini?

感謝您的幫助

啤酒

+0

您的其他服務器是否啓用了「register_globals」?這不是你所有的代碼。請發佈設置了'$ state'的PHP代碼。 – 2012-02-23 20:29:27

+1

*請*使用[for循環或其他](http://ca3.php.net/manual/en/control-structures.foreach.php)。 – Incognito 2012-02-23 20:52:14

回答

6

的這個錯誤告訴你問題:$state是不確定的。您需要檢查您的代碼,以確定$state應該在哪裏定義,並確保它被正確設置。

如果您正試圖保存用戶輸入到$state變量,看起來像一條線:

$state = $_POST['user_address_state']; 

如果它不存在,之前您在您的文章包含的線條創建它。

+0

在php中定義「<?php if($ state =='AL')echo'selected';?> /> Alabama」,他們會告訴我什麼是 – Tony 2012-02-23 20:42:49

+0

條目選擇的選項,注意:未定義的變量:在第101行/>阿拉巴馬州的C:\ server \ www \ myweb \ form.php中的狀態......「以及屏幕上的所有狀態名稱以準備選擇。表單正在工作,但只顯示狀態名稱,顯示此錯誤 – Tony 2012-02-23 20:49:34

+0

語句'if($ state =='AL')'沒有定義'$ state'。它僅僅將狀態的值與一個字符串('AL')進行比較。如果在該行之前沒有明確定義'$ state',則會看到該錯誤。 – 2012-02-24 03:29:32

0

確實$ state有默認值嗎?它必須在檢查之前有一個值,看看它是否與另一個匹配。