0

MySQLデータベースにクエリを実行し、受信したデータを使用してドロップダウンメニューにデータを入力するphpスクリプトがあります。すべてが正常に機能していて、突然、エコーの「カスタム」オプションが表示されません。私は他の誰かに同じページをチェックするように頼みました、そしてそれは彼のために現れました。ブラウザを変更してみましたが、何もしませんでした。なぜこれが起こるのか誰かが知っていますか?

echo '<div class="c_element" style="height: auto;"> 
    <select class="c_sel">';
        $c= mysql_query("SELECT * FROM C WHERE c_lo_id =".$sel_lo_id) or die(mysql_error());

        while($row = mysql_fetch_array($c))
        {
            echo '<option value='.$row['c_id'].'>'.$row['c_name'].'</option>';              
        }

        echo '<option value="0">Custom </option>
    </select>';
4

1 に答える 1

0

'これは、値に、、などのhtmlを壊す文字が含まれている場合に発生する可能性があり>ます<。HTMLに出力するときは、これらが正しくエンコードされていることを常に確認する必要があります。

それとは別に、これは、属性値を引用しないために値にスペースがある場合にも発生します。

両方の修正あり:;

 echo '<option value="'.htmlspecialchars($row['c_id']).'">'.htmlspecialchars($row['c_name']).'</option>';
                     ^ added as well                    ^
于 2013-02-24T01:23:31.687 に答える