0

私は理解できない問題に遭遇しました。「検証済み」または「未検証」の画像を追加したいページがあります。私が持っているコードは次のとおりです。

PHP

if($listing['priority']==0 {
   $header->set('ver_status,'<img src="images/icon_unverified.png"/>');
} else {
   $header->set('ver_status,'<img src="images/icon_verified.png"/>');
}

HTML

<?php echo $ver_status; ?>

何らかの理由で、Web サイトでページを実行すると、その変数が空になります。

データベースにはリスト テーブルが含まれており、そのテーブルにはデフォルト値が 0 の優先度フィールドが含まれています。顧客が情報を更新しない限り、優先度フィールドの値が自動的に 1 に変更され、すべてのプロファイルの状態が「未確認」になります。

$header は、テンプレートに割り当てられた変数です

すべてのプライオリティ コードが 0 の場合、未検証のイメージが表示されます。他のすべての 1 ~ 5 は、検証済みの画像を表示する必要があります。

別のページでこれを行ったところ、うまくいきました。そのコードは次のとおりです。

if (config['language'] == 2) {
   $header->set('language_flag','<img src="images/flags/Spanish.png" />');
} else {
   $header->set('language_flag','<img src="images/flags/English.png" />');
}

コード 2 はスペイン語で、コード 1 は英語でした。

表示されていないコードに何か欠けているものはありますか? エラーメッセージは表示されず、値が空のだけです。

4

2 に答える 2

0

変数がないため、変数は空になります。変数の値をエコーし​​て画像を取得する場合は、次のように入力します。

if($listing['priority']===0){
    $ver_status='<img src="images/icon_unverified.png">';
}else{
    $ver_status='<img src="images/icon_verified.png">';
}

コードで行っているのはオブジェクトのキーの設定ですが、同じキーを取得しようとすると、それを正しく参照していません。echo $header->ver_status通常の変数を使用したくない場合に値を取得する方法です。http://php.net/manual/en/language.types.object.phpを読むことをお勧めします

コードにもタイプミスがあることに注意してください。t('ver_status,'開放弦です。
また、XML を使用していない限り、タグにスラッシュは必要ありません。

于 2013-03-20T18:48:09.253 に答える
0

if ステートメントに閉じ括弧がないようです。コードから直接コピー アンド ペーストすると、問題が発生する可能性があります。エラー メッセージも表示されるはずですが、オフになっている可能性があります。

もちろん、コードを SO にコピーすることによる単なるタイプミスである場合、これは役に立ちません。

于 2013-03-20T18:42:41.453 に答える