bugfix> php > 投稿

データベース内のすべてのユーザーをドロップダウンで取得する複数選択ドロップダウンボックスを作成しました。すべてまたは1人の特定のユーザーを選択し、メールを送信したい。

私の問題は、ドロップダウンですべてのユーザー名を取得できますが、選択したユーザーのメールIDを取得して次のページにメールを送信する方法がわからないということです。

http://i.stack.imgur.com/87aiG.jpg

お気に入り:  最初のページでユーザーを選択します>> データベースから>> 複数選択ドロップダウンボックス。 2ページ目に、Eメールを作成するためのTEXTAREAが表示されます>> 送信するbtnを送信する

ドロップダウンを選択する理由なぜなら、非常に少ないページまたはテーブルを使用して、使用を選択するからです。ドロップダウンは、ユーザーを選択して送信するための非常に短い形式です。

助けてください。 またはスクリプトを提供...

回答 2 件
  • 別の答えを追加することが許可されているかどうかはわかりませんが、試してみましょう。 何か問題があれば親切に教えてください。

    こんにちはこれが役立つことを願っています。混乱がある場合は質問してください。

    最初のファイルq1.php そしてそのためのコード

    <?php $con = mysqli_connect('localhost','root','','test');  ?>
       <form action='emailScript.php' method='post'>
            <div class="control-group"> 
            <label class="control-label" for="basicinput"> Select Users ID</label> 
             <div class="controls"> 
        <select name="category[]" id="id" class="span8 tip mdb-select colorful-select dropdown-primary" multiple searchable="Search here.." required> 
            <option value=""disabled>Select User Credentials</option> 
            <?php $sql=mysqli_query($con,"select * from Users where Status='1'"); 
            while ($rw=mysqli_fetch_array($sql)) { ?> 
                <option value="<?php echo htmlentities($rw['Email']);?>">
                    <?php echo htmlentities($rw['Full_Name']);?>
                    </option> <?php } ?> 
          </select> 
          </div>
         <textarea name='emailText'></textarea>
          </div>
        <input type='submit' name='submit' value='Send' />
          </form>
    
    

    2番目のファイルemailScript.php  コードは以下です

    <?php
         //check values are coming here or not
         echo '<pre>';
             print_r($_POST);
          echo '</pre>';
          $emails = $_POST['category'];
          $emailText = $_POST['emailText'];
          foreach($emails as $email){
            //if email sending funciton is set properly then mail will fly
            //:)
             if( mail("$email",'Subject of Email',"$emailText")){
                  echo 'Mail Send Successfully';
               }else{
               echo 'ERROR:';
             }
          }
         ?>
    
    

    少なくとも今、あなたが良いニュースを思いつくことを願っています。 :)

    ローカルメールが適切に送信されるように、水銀メールサーバーでxamppを使用しています。

    PHPMailerクラスでこれを試してください

    <?php
     //check values are coming here or not
     echo '<pre>';
         print_r($_POST);
      echo '</pre>';
                include_once "PHPMailer/src/PHPMailer.php";
                $emails = $_POST['category'];
                $mail = new PHPMailer();
                $mail->setFrom('hello@codingpassiveincome.com');
                $mail->Subject = "Please verify email!";
                $mail->isHTML(true);
                $mail->Body = $_POST['emailText'];
                foreach($emails as $email){
                    $mail->addAddress( $email );
                    if ($mail->send())
                        $msg = "You have been sent your email!";
                    else
                        $msg = "Something wrong happened! Please try again!";
                }
      ?>
      <?php if ($msg != "") echo $msg . "<br><br>" ?>
      <?php if ($msg != "") echo $msg . "<br><br>" ?>
    
    

  • こんにちは。ここでは、コードや、試行中または作業中の作業を投稿していません。

    だから、現時点では私はあなたが欲しいものを考えてあなたを助けることができます。

    第一歩  

    home.php  このファイルでは、ドロップダウン選択ボックスのコードを記述する必要があります Name に入力します  メールを送信したいユーザーのコード  select box の一部  で <option value="put_user_id">Person Name</option>  オプション値属性にユーザーIDを入力します。また、この選択ボックスを、質問ごとに行った複数選択ボックスにすることもできます。

    ステップ2

    ユーザーが一部またはすべてのユーザーを選択してから submit  または、 send mail をクリックします  これらの変数を GET で渡すだけのボタン  または POST  または SESSION   たとえば、2番目のページよりも2番目のページを呼び出す方が望ましい mailsend.php  。

    このページでは、次の2つを取得できます。 1 送信したいメールテキスト 2 および array  のID ユーザーがメールを送信するために個人名を選択します。

    今、あなたはメールを送信したいユーザーのIDを持っているので、簡単に email を取得する   foreach によるデータベースから   where を使用した単純な選択クエリ  状態または user_id  次に、それらを array に保存します  もう一度、別の foreach を書く  ループしてメールを送信します。

    または最初の foreach 内  各反復で各ユーザーの電子メールIDを取得すると、ループはすぐに同時に電子メールを送信します。

    大事なポイント

    あなたが言った:ただし、選択したユーザーのメールIDを取得して次のページにメールを送信する方法がわからない場合は、

    HTMLコードで複数のユーザーを選択するには、この例を見ることができます

    これで少なくともアイデアが得られることを願っています。 ご不明な点がありましたらお気軽にお問い合わせください。

あなたの答え