daniel: datenbankinhalt in fputs angeben

hallo,

ich habe mal wieder ein kleines anfängerproblemchen ;-)

ich würde gern einen einfachen newsletter basteln,
für den man sich auf der seite anmelden kann.
die empfänger-email-adressen werden also in eine DB geschrieben und sollen dann dort, wo normalerweise die empfänger-mails angeben werden, wieder ausgegeben werden.

konkret sieht das so aus:

$fp = popen("/usr/sbin/sendmail -t","w");
fputs($fp, "To: *HIER SOLLEN DANN DIE ADRESSEN AUS DER DB STEHEN* \n");
fputs($fp, "From: <www.baseball-cheerleading.de>baseball-cheerleading.de \n");
fputs($fp, "Subject: Newsletter"\n\n");
fputs($fp, "Newslettertext");
pclose($fp);

wenn es um das auslesen von einer DB geht,
das krieg ich ja noch hin , aber wie krieg ich das in das TO: feld?

btw: wenn ich abressatenadressen als BCC angeben will, wie mach ich das? das "To: " gegen "BCC" zu tauschen , hat irgendwie nicht geklappt ;-)))

vielen dank für eure hilfe,
bitte versucht es einfach zu erklären, ich habe mit PHP erst angefangen ;-)

grüße daniel

  1. Hi,

    wenn es um das auslesen von einer DB geht,
    das krieg ich ja noch hin , aber wie krieg ich das in das TO: feld?

    indem Du aus den Werten eine Variable join()st.

    btw: wenn ich abressatenadressen als BCC angeben will, wie mach ich das? das "To: " gegen "BCC" zu tauschen , hat irgendwie nicht geklappt ;-)))

    Irgendein To: wird halt gebraucht...

    bitte versucht es einfach zu erklären, ich habe mit PHP erst angefangen ;-)

    Mehr als einen Zaunpfahl gibt's trotzdem nicht ;-)

    Cheatah

    1. hi cheatah,

      erstmal danke für den zaunpfahl... ;-))

      also, join() "klebt" also ein array in ein einzelne Variable zusammen?
      und ein trennzeichen läßt sich auch angeben, wenn ich das richitg verstanden habe.

      aber wiso klappt das dann nicht?

      $query=("SELECT email FROM newsletter");
      $base = mysql_query($query);

      echo "NEUER NEWSLETTER WURDE GESENDET AN: <br>";

      while ($row = mysql_fetch_row($base))
             {
          $to = implode(" , ",$row);
               echo $to;
             }

      join "klebt" mir zwar die felder aus $row zusammen,
      aber ohne trenner ???
      $to gibt mir sowas in der art aus:
      email1@gmx.deemail2@gmx.deemail3@gmx.de...
      nur das "," fehlt???

      wo liegt da nun mein denkfehler???

      vielleicht noch ein wink mit dem zaunpfahl... ;-))) ?

      danke im voraus !!
      daniel

      1. Huhu Daniel

        $query=("SELECT email FROM newsletter");
        $base = mysql_query($query);

        echo "NEUER NEWSLETTER WURDE GESENDET AN: <br>";

        while ($row = mysql_fetch_row($base))
               {
            $to = implode(" , ",$row);

        Zaunpfahl -> wieviele Elemente hat das Array $row?

        echo $to;
               }

        Viele Grüße

        lulu

        1. while ($row = mysql_fetch_row($base))
                 {
              $to = implode(" , ",$row);

          Zaunpfahl -> wieviele Elemente hat das Array $row?

          hmmm? bei jedem schleifendurchlauf wohl nur ein element ?
          nämlich $row[0]?

          aber wie bekomme ich jetzt diese verd* werte in eine reihe??

          gibts da nicht irgendeine funktion dafür?

          grüße daniel

          1. Huhu daniel

            aber wie bekomme ich jetzt diese verd* werte in eine reihe??

            eine Möglichkeit ist es die Werte innerhalb der Schleife zu sammeln und danach per implode auszugeben.

            $stack=array();
            while ($row = mysql_fetch_row($base)){
               $stack[]=$row[0];
            }
            $to= implode(" , ",$stack);

            Viele Grüße

            lulu

            1. yipiiiiee, es klappt ;-))

              vielen dank...
              ich lag gar nicht soooo verkehrt mit meinen versuchen hier !
              auf die idee, $row[0] nochmal in ein anderes array zu schreiben
              kam ich auch... aber ich hatte einfach $row[0]=$stack[]
              statt umgekehrt.
              naja, das macht wohl die erfahrung.. ;-))
              danke auf jeden fall !!!
              grüße daniel