1

HTML/PHP メール フォームのチュートリアルを使用しています。検証とそうでないものを実行し、テキスト フィールドと選択フィールドを表示しますが、チェックボックスは表示されません。

チュートリアルの URL は次のとおりですhttp://net.tutsplus.com/tutorials/html-css-techniques/build-a-neat-html5-powered-contact-form/

テキストフィールドコードは次のようになります

<input type="text" id="phone" name="phone" value="<?php echo ($sr && !$cf['form_ok']) ? $cf['posted_form_data']['phone'] : '' ?>" placeholder="555-555-5555" />

セレクトはこんな感じ

<option value="Select a size" <?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['size'] == 'Select a size') ? "selected='selected'" : '' ?>>Select a size</option>

チェックボックスを使用するときに上記を適切な構文にする方法を理解しようとしています。これが私の試みです

<input type="checkbox" id="color" name="color" value="<?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['red'] : '' ?>" />

不適切な構文です。複数のチェックボックスがあり、1 つまたはすべてが受信者の電子メールに表示される必要があることに注意してください。誰かがそれを助けてくれませんか。

4

3 に答える 3

2

私が正しければ、チェック済みの状態を設定しようとしています。value属性でこれを行っていますが、これは正しくありません。これが色のチェックボックスであると仮定するとred、構文は次のようになります。

<input type="checkbox" 
       id="color" 
       name="color" 
       value="red"
       <?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['red']) 
                  ? 'checked="checked"'
                  : ''; ?> 
       />

三項演算の例:

// Like asking php a question
(TRUE) ? 'this is true' : 'this is false';
--> 'this is true'

通常の if/else ステートメントに分解:

if(TRUE)
{
    echo 'this is true';
}
else
{
    echo 'this is false';
}
--> 'this is true'
于 2013-08-03T23:37:27.020 に答える
0

チェックボックスの三項演算子の構文が正しくありません:

($sr && !$cf['form_ok'] && $cf['posted_form_data']['red'] : ''

あなたはその?部分を見逃しており、括弧を決して閉じません。これにより、構文エラーが発生します。

于 2013-08-03T23:35:31.740 に答える
0

これらの行にも問題がありました....

<input type="text" id="phone" name="phone" value="<?php echo ($sr && !$cf['form_ok'] ? $cf['posted_form_data']['phone'] : '');?>" placeholder="555-555-5555" />
<option value="Select a size" <?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['size'] == 'Select a size' ? "selected='selected'" : '');?>>Select a size</option>
于 2013-08-03T23:39:22.940 に答える