Newsletter

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Newsletter

    Hallo,

    ich habe einen Newsletterversand geschrieben. Dabei werden alle email Adressen aus der Datenbank gelesen. Nun möchte ich, dass jede email ausgelesen wird, also E-Mail ... wurde gerade versendet. Ich denke mal, dass nach jeder Email die Seite neu geladen werden muss. Ist das richtig oder wie muss ich da vorgehen?

    MFG
    Benji

  • #2
    versuche es doch mal mit einer schleifen funktion... dann muss die seite nicht neu geladen werden, sondern jeder datensatz steht untereinander...
    .
    .http://www.Nightkillerz.de
    .

    Kommentar


    • #3
      Ich habe eine FOR Schleife verwendet

      PHP-Code:
      for( $i = 0 ; $i < ($menge) ; $i++ )
      {
            if( !is_array($liste[$i]) )
            {
                break;
            }
            else
            {
                $email = $liste[$i]['email'];
                $name = $liste[$i]['name'];
                $message = str_replace('$name', $name, $nachricht);
                $new_message = str_replace('$betreiber_name', $betreiber_name, $message);
                $new_message1 = str_replace('$path', $path, $new_message);

                echo "Der Newsletter wurde an die E-Mail $email versendet";
                ?><meta http-equiv="refresh" content="0;url=newsletter_verschicken.php"><?
                 #mail($email,$betreff,$new_message1,"From: $absender_name <$absender_email>");
             }
      }
      Aber leider werden alle email am Ende angezeigt, und nicht nacheinander.


      MFG
      Benji

      Kommentar


      • #4
        hi

        die technik ist geschmackssache ich würde while der for-schleife vorziehen;

        du must dir über die funktionsweise klarwerden, mit dem was du vorhast.

        gewünscht ist eigentlich ein permanenter datenstrom während des mailversenden. der browser hat allerdings die angewohnheit daten erst darzustellen, wenn der entsprechende abschnitt (z.b. <table> ...</table>) komplett übermittelt wurde.

        eine just-in-time darstellung ist ohne neuladen meines wissens nicht möglich, was allerdings bei entsprechender anzahl schon zu ladezeiten führen kann + zusätzlicher belastung des servers während des mailversendens.

        Kommentar


        • #5

          PHP-Code:
          <?php
          if (isset($_GET['num'])) { $num$_GET['num']; }
          else{ 
          $num=0;}

          for( 
          $i $num $i < ($menge) ; $i++ )
          {
                if( !
          is_array($liste[$i]) )
                {
                    break;
                }
                else
                {
                    
          $email $liste[$i]['email'];
                    
          $name $liste[$i]['name'];
                    
          $message str_replace('$name'$name$nachricht);
                    
          $new_message str_replace('$betreiber_name'$betreiber_name$message);
                    
          $new_message1 str_replace('$path'$path$new_message);

                    echo 
          "Der Newsletter wurde an die E-Mail $email versendet";
                    
          ?><meta http-equiv="refresh" content="0;url=newsletter_verschicken.php?num=<?php
          $numSend 
          $i 1;
           echo 
          $numSend ?> "><?
                     #mail($email,$betreff,$new_message1,"From: $absender_name <$absender_email>");
                 }
          }
          Ich glaub du willst wohl eher sowas machen? und getestet.
          find ich aber nicht gut , lieber mit header arbeiten und 10 - 50 emails auf einmal verschicken.

          Viel spass
          Möglich ist alles!

          Kommentar


          • #6
            flush ist was du suchst!

            Kommentar

            Lädt...
            X