2012-02-23 5 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コードを投稿してください。 –

+1

*このために[for loop or something](http://ca3.php.net/manual/en/control-structures.foreach.php)を使用してください。 – Incognito

答えて

6

ありがとうございエラーはあなたの問題を伝えます:$stateは未定義です。 $stateを定義する場所を判断し、コードが正しく設定されていることを確認するには、コードを調べる必要があります。

あなたは、$state変数にユーザの入力を保存するような行を探ししようとしている場合:それが存在しない場合

$state = $_POST['user_address_state']; 

、前あなたはあなたのポストに含まラインにそれを作成します。

+0

PHPの中で定義されている "<?php if($ state == 'AL')echo 'selected';?> />アラバマ"と入力すると、オプションで入力された内容が入力されます – Tony

+0

完全なエラー "注意:未定義の変数:C:\ server \ www \ myweb \ form.phpの101行目/>アラバマ州の状態」と画面上のすべての状態名を選択する準備ができました。フォームは機能していますが、代わりに状態名だけが表示されます。 – Tony

+0

'if($ state == 'AL')'は '$ state'を定義していません。これは単にstateの値を文字列( 'AL')と比較するだけです。 '$ state'がその行の前に明示的に定義されていないと、エラーが表示されます。 –

0

$ stateにはデフォルト値がありますか?それは他のものと一致するかどうかを調べる前に値を持っていなければなりません。

関連する問題