2017-04-16 5 views
1

私は、人々が自分の名前を追加でき、自分自身とRSVPフォーム(http://adrianandemma.com/)を構築しようとしている負けラジオ値は、フォームフィールドが

... PHPのフォームやメール機能を持​​つ偉大なないんだけど、クローン化されました出席のために「はい/いいえ」を選択します。また、他の人のためにRSVPへのリンクをクリックすることもできます。これをクリックすると、名前とラジオがjQueryでクローン化されます。

フォームが送信されると、メールで詳細を自分宛に送信しようとしています。電子メールは現在提出中で、3つのRSPV名の電子メールを一度に受け取った場合、3つの名前の値が電子メールできめ細かく届いていますが、最初の人のはい/いいえの回答のみの価値があります。

私の複製されたラジオボタンの値がメールで送信されていない理由を誰かが助けてくれますか?

<form action="?" method="post"> 
     <?php if(@$errors) :?> 
      <p class="errors"><?php echo $errors; ?></p> 
     <?php endif; ?> 
     <input type="hidden" name="submit" value="1" /> 
     <div class="form-row"> 
      <div class="field-l"> 
       <p>Name</p> 
      </div> 
      <div class="field-r"> 
       <p>Attending?</p> 
      </div> 
     </div> 
     <div class="form-row guest"> 
      <div class="field-l"> 
       <input type="text" name="name[]" id="name" value="<?php echo htmlspecialchars(@$_REQUEST['name']); ?>" tabindex="1" /> 
      </div> 
      <div class="field-r"> 
       <input type="radio" name="coming[]" id="coming-yes" class="coming-yes" value="Yes"><label for="coming-yes">Yes</label><input type="radio" name="coming[]" id="coming-no" class="coming-no" value="No"><label for="coming-no">No</label> 
      </div> 
     </div> 
     <a class="addguest" href="#">Add further guest</a> 
     <div class="form-row"> 
      <button type="submit" id="rsvp-submit" tabindex="2">Submit RSVP</button> 
     </div> 
    </form> 

...と、ここに私のPHPのメールコードは次のとおりです:ここで

は私のフォームの

<?php 

$name = $_POST['name']; 
$coming = $_POST['coming']; 

$errors = ""; 
if([email protected]$_POST['name']) { $errors .= "Please enter your name.<br/>\n"; } 
if([email protected]$_POST['coming']) { $errors .= "Please enter yes or no for attending.<br/>\n"; } 

if(@$_POST['emailaddress'] != '') { $spam = '1'; } 

if (!$errors && @$spam != '1') 
    { 
     $to = "[email protected]"; 
     $subject = "Wedding RSVP"; 
     $headers = "From: [email protected]"; 
     $body = "The following RSVP has been sent via the website.\n\n"; 
     for($i=0; $i < count($_POST['name']); $i++) { 
      $body .= " 
      Name ".($i+1)." : " . $_POST['name'][$i] . "\n 
      Coming ".($i+1)." : " . $_POST['coming'][$i] ."\n\n"; 
     } 
     $body .= "\n\nDate Received: " . date("j F Y, g:i a") . "\n"; 

     mail($to,$subject,$body,$headers); 
    } 

?> 

私の簡単な$エラーの検証にも思わぬ障害を持っているようです。何も書かれていないフォームを送信すると、空のラジオボタンに関する空白の「名前」フィールドに関するエラーメッセージだけが表示されます。

私はこれを終わらせるために苦労しているので、どんな助けも本当に素晴らしいだろう。やる

The following RSVP has been sent via the website. 


     Name 1 : Dave Jones 

     Coming 1 : Yes 


     Name 2 : Amy Jones 

     Coming 2 : 


     Name 3 : Carl Jones 

     Coming 3 : 


Date Received: 16 April 2017, 2:38 pm 

答えて

0

misc.js javascriptで生成されたhtmlを見て、name属性がcoming[]1,coming[]2に設定されています。私は示唆している何

のいずれかです:

1)coming[]としてこれらを保持し、したがって、あなたの要求は、配列としてcomingを持つことになります。 nameと同じインデックスを使用してこれをループすることができます。あなたのjqueryのを使用してcoming1coming[]coming2coming3を交換して、あなたのPHPで別の変数としてこれらを扱う

2)。

+0

Ahaaありがとう...私は、来る名前が1,2,3に修正されていることに気づいていなかった。私はmisc.jsからこれを追加していたラインを削除しようとした。到来[]。しかし、今私が提出するとき、無線の値のどれもが来ていない(彼らはすべて空白です)。私は複数のラジオを扱うために私のphpメールコードに追加することにしましたか? – ade123

+0

実際、 'name'属性を1,2,3などに変更していたjを削除したので、一度に1つのラジオしか選択できません。3つのラジオが重複していると、すべて同じ名前になるためです。うーん... – ade123

0

:...申し訳ありませんが、これは私が3名にRSVPを受けると言う現在ならば、私は電子メールを介して受信てるものの一例であることを

感謝:)

が含まれている必要がありますあなたは実現している、ラジオボタンに値がない場合は、 "別のゲストを追加する" ..フィールド1に値が存在しますが、フィールド2,3,4、などのために空...多分thats空の値提出フォーム..

radio button empty value

関連する問題