mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 19.04.2024 17:37 Benutzername: Passwort: Auto-Login

Thema: Aktivierungslink per Mail verschicken und variabler Download vom 17.03.2009


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Aktivierungslink per Mail verschicken und variabler Download
Seite: 1, 2  Weiter
Autor Nachricht
Yunho
Threadersteller

Dabei seit: 17.03.2009
Ort: Mitten im Nirgendwo
Alter: -
Geschlecht: Weiblich
Verfasst Di 17.03.2009 14:36
Titel

Aktivierungslink per Mail verschicken und variabler Download

Antworten mit Zitat Zum Seitenanfang

Hallo Leute,

ich bin neu hier und komme gleich mit einer Frage zu euch.

Es geht um folgendes:

Ich möchte für eine Webseite ein Formular erstellen, bei dem der User seine Daten eingibt und nach dem Abschicken des Formulars eine E-Mail mit Aktivierungslink bekommt, den er bestätigen muss. Dass wiederum soll ihn auf eine Seite mit einem Downloadlink bringen, wo er das Produkt für das er sich registriert hat runterladen kann. Allerdings soll dieser Downloadlink keine "feste" Adresse haben, sondern nur temporär vorhanden sein, damit derjenige nicht einfach den Downloadlink an andere weitergeben kann.

Das Formular selber hätte ich jetzt einfach in HTML geschrieben, soweit kein Problem. Allerdings habe ich leider keine Ahnung wie ich alles weitere umsetzen soll.

Grundkenntnisse in Java, Delphi und HTML (Auch wenn es keine Programmiersprache ist ^^) sind vorhanden auch wenn ich nicht so wirklich weiß ob mich diese Kenntnisse weiterbringen.

Habt ihr vielleicht eine Idee, wie das umsetzbar ist (Und mit welcher Programmiersprache) oder vielleicht sogar einen Link zu einem Tutorial oder ähnlichem? Ich hab auch kein Problem mich in eine andere Programmiersprache einzuarbeiten ^^ man lernt ja immer dazu.

Schon mal vielen Dank im Voraus für eure Hilfe! ^^

lg
Yunho
  View user's profile Private Nachricht senden
liddlealien

Dabei seit: 01.09.2005
Ort: Berlin
Alter: 38
Geschlecht: -
Verfasst Di 17.03.2009 16:08
Titel

Antworten mit Zitat Zum Seitenanfang

hi,

je nach Server den du zur Verfügung hast wirds dann eine andere programmiersprache werden*g*


Wenn du Java kannst würde ich dir jsp nahe legen, damit kannst du dynamische webseiten erstellen und auch relativ einfach auf datenbanken zugreifen.

Meist wirst du aber auf php treffen (alternativen ruby,.net usw.).

In PHP wäre der Ablauf folgender:

1. Formulardaten abfragen und verarbeiten. (Formularinhalte krichst du z.B. mit $_POST["<entsprechenderfeldname>"] )
2. Eingaben gegebenenfalls nach sinnhaftigkeit überprüfen und in die datenbank speichern ( PHPundDatenbanken )

3. Zufälliges Wort erzeugen ( bsp mit einem passwortgenerator passwortgenerator )
4. Das zufällige Wort per md5 verschlüsseln (Funktion md5($<variablenname>) ) das ganze erzeugt dann ein krudes Buchstabengemisch
5. Das krude Buchstabengemisch in der Datenbank speichern zusammen mit z.B. dem benutzernamen und Uhrzeit usw.
6. Das krude Buchstabengemisch per mail schicken ( phpMailfunktion ) die mail verweist dann halt auf www.deineseite/download.php?downloadid=krudesbuchstabengemisch

In der download.php greifst du dann wieder auf deine Datenbank zu, guckst ob das per url übergebene krudebuchstabengemisch in der Datenbank vorhanden ist und wenn dass der Fall ist einen Downloadlink erzeugen.

Wie das geht ist mir grad zu kompliziert zu beschreiben aber da gibts auch schon Leute die sich damit auseinander gesetzt haben hier zum beispiel

wenn du die Datenbanktabelle mit den krudenbuchstabengemischen noch mit einem Datumsfeld versiehst das den Zeitpunkt der Registrierung beinhaltet kannst du auch noch funktionen einbauen die z.b. ein Verfallsdatum ermöglichen.
Das geht dann alles über timestamps


So, hoffe ich konnte grob helfen
  View user's profile Private Nachricht senden
Anzeige
Anzeige
Yunho
Threadersteller

Dabei seit: 17.03.2009
Ort: Mitten im Nirgendwo
Alter: -
Geschlecht: Weiblich
Verfasst Di 17.03.2009 21:46
Titel

Antworten mit Zitat Zum Seitenanfang

Okay das Problem das ich vorher hatte, hat sich geklärt ^^.

Das Formular steht jetzt soweit, ist mit der Datenbank verbunden und ich kann auch erfolgreich Daten in die Datenbank eintragen, über das Formular.

Ein Passwort kann ich auch erstellen und das mit md5 funktioniert auch prima und der Code wird mit in die Datenbank eingetragen. Mein Problem ist jetzt allerdings die Mailfunktion...

Momentan habe ich folgendes eingebaut:

Code:

$mail_empfaenger=$EMail;
$absender = "From: InnoTeamS GmbH <info@innoteams.de>";
$betreff="Eine Testmail";
$text="Hier ist ihr Aktivierungsschlüssel: $Passwort Bitte geben sie ihn auf folgender Seite ein: www.innoteams.de/download.php?downloadid=$Passwort";
mail(mail_empfaenger, $betreff, $text,$absender);


Aber es kommt keine E-Mail an. $EMail ist hierbei die Variable die der User im Formular eingibt.

Wäre echt super, wenn ihr mir da weiterhelfen könntet.

Ach ja und eine Frage hab ich noch. Gibt es eine Möglichkeit, die Daten die der User eingibt zu zwischenzuspeichern und erst in die Datenbank einzufüllen, wenn er auch den Aktivierungslink geklickt hat? Weil vorher möchte ich ihn ja nicht in der Datenbank haben.. oder sollte man das über eine 2. Datenbank machen?


Zuletzt bearbeitet von Yunho am Mi 18.03.2009 14:08, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
liddlealien

Dabei seit: 01.09.2005
Ort: Berlin
Alter: 38
Geschlecht: -
Verfasst Mi 18.03.2009 16:33
Titel

Antworten mit Zitat Zum Seitenanfang

spontan erstmal:
mail(mail_empfaenger,

da fehlt das Doller zeichen*G*
daher sendet er auch nix.


zwecks nur geklickte Daten:

jau, zwei tabellen oder du machst noch ein Feld "geklickt" dass erstmal auf false steht und bei klick auf true gesetzt wird.

Alle auf false stehenden Datensätze die älter als 5 Tage oder so sind löscht du dann einfach per cronjob.
  View user's profile Private Nachricht senden
Yunho
Threadersteller

Dabei seit: 17.03.2009
Ort: Mitten im Nirgendwo
Alter: -
Geschlecht: Weiblich
Verfasst Mi 18.03.2009 21:22
Titel

Antworten mit Zitat Zum Seitenanfang

Danke, das Dollarzeichen war der Bösewicht in meinem Skript! ^^

Also die Mailfunktion funktioniert einwandfrei, mit dem Downloadlink tue ich mich allerdings noch etwas schwer...
Wobei ich jetzt erst mal eine Lösung gefunden habe, bei der der Link versteckt wird, was auch erst mal reicht. Allerdings wird mir das ZIP File das gedownloadet werden soll nicht gedownloadet sondern ich bekomme lediglich einen ziemlichen Codesalat angezeigt..

Code:

$dir = './Download/';
    $file = $_REQUEST['DL'];

    @set_time_limit(600);

    $completeFilePath = $dir.$file;
    $pi = pathinfo($completeFilePath);

    header("Cache-control: private");
    header("Content-Type: application/octet-stream");
    header("Content-Disposition: attachment; filename=$file");

    readfile($completeFilePath);


Hab ich da im Code was falsch gemacht?

Danke noch mal für die tolle Hilfe, ohne dich wäre ich wohl aufgeschmissen ^^
  View user's profile Private Nachricht senden
leinich

Dabei seit: 23.09.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Do 19.03.2009 09:39
Titel

Antworten mit Zitat Zum Seitenanfang

Probier mal das aus:

Code:

$dir = './Download/';

if (isset($_REQUEST['DL'))
{
$file = $_REQUEST['DL'];
$completeFilePath = $dir.$file;

header("Content-length: ".filesize($completeFilePath));
header("Content-type: application/zip");
header("Content-Disposition: filename=DeinPersoenlicherDownload.zip");

readfile($completeFilePath);

exit;
}
else
echo "ungültiger Aufruf";


Zuletzt bearbeitet von leinich am Do 19.03.2009 09:40, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Yunho
Threadersteller

Dabei seit: 17.03.2009
Ort: Mitten im Nirgendwo
Alter: -
Geschlecht: Weiblich
Verfasst Do 19.03.2009 13:21
Titel

Antworten mit Zitat Zum Seitenanfang

@leinich ich hab es mal mit deinem Code versucht.. aber der funktioniert leider auch nicht. Auch nachdem ich die fehlende eckige Klammer in der zweiten Zeile eingefügt hatte =)

Ich hab es auch sowohl im Internet Explorer als auch in Firefox versucht aber es kommt bei beiden das selber raus.. Könnte es vielleicht am 1&1 Server liegen?
  View user's profile Private Nachricht senden
leinich

Dabei seit: 23.09.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Do 19.03.2009 13:50
Titel

Antworten mit Zitat Zum Seitenanfang

Cache vom IE und FF schon mal geleert?

oder mal mit
Code:
header("Cache-Control: no-cache, must-revalidate");

erweitern.
  View user's profile Private Nachricht senden
 
Ähnliche Themen Aktivierungslink per E-Mail verschicken
.swf per Mail verschicken
E-Mail mit Firmenlogo verschicken
e-mail direkt von der homepage aus verschicken- wie?
[PHP] HTML-Mail mit Bild verschicken
Javascript soll HTML-Mail verschicken?
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.