0

while()ループを使用して MySQL データベースからのデータが入力された HTML テーブルがあります。このデータベースの構造は次のとおりです。

+++++++++++++++++++++
| id | name | email |
+++++++++++++++++++++

ユーザーが選択したユーザー グループ (行) に電子メールを送信できるようにしたいので、次の解決策のいずれかを検討しています。

  1. 「招待メールを送信」と書かれた各行のボタンまたは
  2. 招待メールを送信したいものを選択するためのチェックボックスと、フォームを送信する [送信] ボタン。

処理するフォームにデータを取得する方法がわかりません。

4

2 に答える 2

0

まず、PHP に一意の ID と値を各チェックボックスに割り当てさせ、選択されているチェックボックスとメール アドレスを認識させます。例えば:

<input type="checkbox" name="5" value="email@foo.com">email@foo.com

また、<input type="hidden">チェックボックスの総数を保存するために使用します。

<input type="hidden" name="totalCheckboxes" value="20">

ターゲット ページ ( で指定したページ<form action="...">) で、非表示のチェックボックスの総数を<input>For サイクルで取得します。

  • 各チェックボックスのメールを読んで保存します。
  • 保存されたアドレスに電子メールを送信します。

最終的なコードは次のようになります。

フォームページ

<form method="POST" action="target.php">
<table><tbody>
  <tr>
    <td><input type="checkbox" name="1" value="foo@bar.com"></td>
    <td>foo@bar.com</td>
  </tr>
  <tr>
    <td><input type="checkbox" name="2" value="herp@derp.com"></td>
    <td>herp@derp.com</td>
  </tr>
</tbody></table>
<input type="hidden" name="totalCheckboxes" value="2">
</form>

対象ページ

<?php
$total=$_POST['totalCheckboxes'];
for ($k=1; $k!=$total; $k++) {
   if ($_POST[$k]) {
      // Email
   }
}
?>
于 2012-09-08T22:52:22.337 に答える
0

<table>. 各行を囲むPHPサウンドに送信するフォームを開始します。次のようなチェックボックスがあります。

<input type="checkbox" name="emails[]" value="<?php echo $row['email']; ?>" />

下部に送信ボタン (フォーム内) があります。PHP ページ:

<?php
$emails = $_POST['emails'];
foreach ($emails as $email) {
   ###Logic to send your HTML e-mail
}
?>
于 2012-09-08T22:44:05.660 に答える