csv mailer

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

  • csv mailer

    hi leute,

    ich habe da irgendwie einen Fehler in meinem Script.
    Ich wollt gerade eigentlich einen CSV basierten newsletter
    bauen, komm aber an diesem einem problem nicht vorbei
    da ich einfach den fehler nicht sehe...

    dieser ist mein ausgangspunkt auf dem ich dann weiter
    aufbauen möchte. nur leider sendet er doppelt bzw.
    gibt bei der test ausgabe auch immer einen leeren eintrag
    aus:

    PHP-Code:
    <?
    $betreff = 'jNewsletter' ;
    $nachricht = 'Hat geklappt' ;                                   
    $handle = fopen ("subscriptions.txt","r"); 
    while ( ($data = fgetcsv ($handle, 1000, ";")) !== FALSE ) { 

        $num = count ($data);                      
        
        for ($c=0; $c < $num; $c++) {
            
            mail($data[$c], $betreff, $nachricht);
            echo 'Newsletter versendet an:'.$data[$c].'<br>' ;
        }
    }

    fclose ($handle);
    ?>
    kann bitte jemand mal schauen und mir den fehler aufzeigen?
    Design & Coding with a breeze of madness at xjonx

  • #2
    mach mal testausgaben.

    poste dann die jeweilige variable, den wert, der da deiner meinung nach drin stehen sollte, und den wert, der drin steht.

    Dann solltest du dem Fehler auf die schliche kommen.

    Ein paar echos 'test'; um herauszufinden, ob und wie oft schleifen ausgeführt werden, schaden sicher auch nicht.

    Kommentar


    • #3
      var_dump($data[$c], $c, $c++, $data, $num) ergibt:

      string(14) "mail@xjonx.com" int(0) int(0)
      array(2) { [0]=> string(14) "mail@xjonx.com" [1]=> string(0) "" } int(2)

      in der datei steht nur ein eintrag: wieso also array[1] ?
      Design & Coding with a breeze of madness at xjonx

      Kommentar


      • #4
        1. wie sieht die csv-datei aus?
        2. an welcher stelle hast du das vardump eingebaut?

        Kommentar


        • #5
          Leerzeile am Ende der Datei.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            thema datei:

            in der datei sind 2 zeilen. hinter dem ; ist weder ein leerzeichen noch sonstwas...

            zeile1: mail@xjonx.com;
            zeile2: mail@xjonx.com;

            also nur die reine email adresse und ihr ;

            thema var_dump
            PHP-Code:
            $handle fopen ("subscriptions.txt","r"); 
            while ( (
            $data fgetcsv ($handle1000";")) !== FALSE ) { 

                
            $num count ($data);                      
                
                for (
            $c=0$c $num$c++) {
                    
                    
            mail($data[$c], $betreff$nachricht);
                    echo 
            'Newsletter versendet an:'.$data[$c].'<br>' ;
                    echo 
            'Vardump:'.var_dump($data[$c], $c$c++, $data$num) ;
                }

            danke das es in der schleife halt sinn macht....
            Design & Coding with a breeze of madness at xjonx

            Kommentar


            • #7
              hinter dem ; ist weder ein leerzeichen noch sonstwas...
              Da muss ja kein leerzeichen sein. Schließlich sagt dein vardump ja auch string(0) "" Aber das Semikolon ist halt überflüssiger weise vorhanden.

              Kommentar


              • #8
                jau, das ; scheints gewesen zu sein:
                ausgabe ist jetzt...

                Code:
                Newsletter versendet an:mail@xjonx.com
                string(14) "mail@xjonx.com" int(0) int(0) array(1) 
                { [0]=> string(14) "mail@xjonx.com" } int(1) 
                Newsletter versendet an:mail@xjonx.com
                string(14) "mail@xjonx.com" int(0) int(0) array(1) 
                { [0]=> string(14) "mail@xjonx.com" } int(1)
                Design & Coding with a breeze of madness at xjonx

                Kommentar


                • #9
                  nicht schön, aber...

                  Kommentar


                  • #10
                    häh? inwiefern, nicht schön?
                    Design & Coding with a breeze of madness at xjonx

                    Kommentar


                    • #11
                      file() liefert dir ein array aller e-mail adressen und fertig.

                      Kommentar


                      • #12
                        was ja auch von grundsatz her erwünscht ist.
                        es handelt sich bei diesem script bzw. seinem
                        endergebniss um einen kleinen miniscript ohne
                        große administrative funktionen.

                        wobei auch noch interessant wäre, wie ich zB
                        eine email aus der datei wieder löschen kann....
                        aber darum kümmere ich mich wenn der haupt
                        script läuft...

                        ich hätte selber nie gedacht, das ich nochmal
                        in die verlegenheit kommen würde etwas mit
                        ner csv anstatt einen datenbank zu machen...
                        Design & Coding with a breeze of madness at xjonx

                        Kommentar


                        • #13
                          ich versteh jetzt nicht ganz, wie du dich da auf meinen hinweis beziehst.

                          Kommentar

                          Lädt...
                          X