Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Newsletter mit Einmal Downloadlink

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Newsletter mit Einmal Downloadlink

    Hallo,

    Ich habe ein Script fertig dass mir 30 Tage gültige Downloadlinks mit Hilfe einer Datenbank generiert, die nach einmaligem Downloaden verfallen.

    Nun wollte ich einen einfachen PHP Newsletter erstellen der dann für jeden Empfänger so einen Downloadlink generiert und verschickt.

    Soweit so gut.
    Nun gibt es aber ein praktisches Problem.
    Den Link und einen Text dazu an eine Emailadresse zu schicken ist kein Ding aber wenn ich mehrere Empfänger habe dann bekommen die natürlich alle den selben Link.

    Hat jemand eine Idee wie mann das lösen könnte?

  • #2
    Dann musst du halt pro Empfänger einen eigenen Link generieren?!
    [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

    Kommentar


    • #3
      Die Links auslesen und per Zufallsgenerator einzelne Links rauspicken. Die Wahrscheinlichkeit, dass trotzdem ein Link mehrfach versendet wird, ist natürlich da. Spätestens dann, wenn du mehr Empfänger als Links hast.
      Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

      Kommentar


      • #4
        Ich will Die Links eigentlich erst während des Sendevorgangs generieren.
        Wie gesagt dass klappt auch alles nur alle Empfänger bekommen halt den selben Link weil das Script nur einmal auf den Generator zugreift.

        Die Empfänger stehen in einer DB Tabelle mit 3 Spalten: ID, Name und Mailadresse
        Ich dachte dass mann den Generator irgendwie dann anhand der Anzahl der Empfänger direkt im Script mehrmals aufruft nur fehlt mir dazu der Lösungsansatz.

        Kommentar


        • #5
          PHP-Code:
          foreach $user
          generateLink
          sendLink

          [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
          [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

          Kommentar


          • #6
            Also ich hab hin und her probiert aber es nicht zu laufen gebracht.

            Soweit war ich als ich den Thread hier aufgemacht habe:

            PHP-Code:
             <?php

            // Verbindung zur Datenbank aufbauen...
            $verbindung mysql_connect ("localhost",
            "abc""123")
            or die (
            "keine Verbindung möglich.
             Benutzername oder Passwort sind falsch"
            );

            mysql_select_db("xyz")
            or die (
            "Die Datenbank existiert nicht.");


              
            // generator einlesen
              
            $content file_get_contents("generate.php");
              
            preg_match_all('/<a.*?href="(.*?)".*?>(.*?)/is',$content,$links);
              foreach (
            $links[1] as $link) {    
              
            $name $_POST["name"];
            $email $_POST["email"];
            $betreff $_POST["betreff"];
            $rohtext $_POST["nachricht"];
            $text $rohtext $link;

                
            $abfrage "SELECT * FROM newsletter";
                
            $ergebnis mysql_query($abfrage);
                
                
            // mail senden
             
            while($ausgabe mysql_fetch_assoc($ergebnis))
                { 
            mail($ausgabe['email'], $betreff$text"From: $name  <$email>"); }
              }

            ?>
            Ich verstehe zwar das Prinzip das hinter foreach steht, weiß es in dem Fall nicht wie ich es richtig einsetzen kann um ans Ziel zu kommen.
            Stichwort Wald vor Bäumen

            Kommentar


            • #7
              PHP-Code:
              while($ausgabe mysql_fetch_assoc($ergebnis)){ 
                  
              // generator einlesen
                  // in der Schleife für die User mit drin
                  
              $content file_get_contents("http://download.bv-mod-collection.tk/generate.php");
                  
              preg_match_all('/<a.*?href="(.*?)".*?>(.*?)/is',$content,$links);
                  foreach (
              $links[1] as $link) {  
                      
              $text $rohtext $link;
                  }
                  
              mail($ausgabe['email'], $betreff$text"From: $name  <$email>"); }

              Wenn wir schon dabei sind, solltest du dir das hier demnächst mal ansehen http://www.peterkropff.de/site/php/pdo.htm

              + das http://www.robo47.net/text/38-Mail-ist-tot-es-lebe-mail
              [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
              [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

              Kommentar


              • #8
                Ah super ja das leuchtet schon eher ein als das was ich probiert hatte. ^^
                Probiere ich gleich mal aus wenn ich daheim bin.

                Kommentar


                • #9
                  Die original mysql-Erweiterung ist veraltet (mysql_*-Funktionen) und wird in den kommenden Versionen aus PHP entfernt. Aktuell wirft sie schon E_DEPRECATED-Fehler bei einer Verbindung zur Datenbank. Des Weiteren stehen dir sehr viele tolle Features von mysql mit diesen Funktionen nicht zur Verfügung! Weiterführende Links:
                  Choosing an API
                  Warum man mysql* generell nicht (mehr) nutzen sollte.
                  Wie man von mysql* auf PDO umsteigt
                  Wissenswertes zum Thema SQL-Injection

                  Kommentar


                  • #10
                    Hat alles super geklappt.
                    Danke auch für die Tips.
                    Werde mich auf jeden Fall damit beschäftigen denn ich lerne seit Heute den Fachinformatiker für Anwendungsentwicklung.
                    Da werde ich in 2 Jahren wahrscheinlich laut über diesen Thread hier lachen. ^^

                    Danke für die Hilfe!

                    Kommentar


                    • #11
                      Zitat von Hunted Beitrag anzeigen
                      die nach einmaligem Downloaden verfallen.
                      Das Konzept ist für den Nutzer mehr als ärgerlich, da z.B. bei einer abgebrochenen Internetverbindung der Link dann nicht mehr gültig ist.
                      [URL="http://php.net/manual/en/migration55.deprecated.php"]mysql ist veraltet[/URL] [URL="http://php-de.github.io/jumpto/mail-class/"]Mails senden: Ohne Probleme und ohne mail()[/URL]
                      [PHP]echo 'PS: <b>Meine Antwort ist keine Lösung, sondern nur eine Hilfe zur Lösung.</b>';[/PHP]

                      Kommentar

                      Lädt...
                      X