Geb dir mal ein paar Zeilen Code von mir. Ich habe allerdings noch weitere Sachen gemacht, dazu aber gleich mehr:
PHP:
require_once('inc/config.inc.php');
if(isset($_POST['dl_submit'])){
$form_tk = $_POST['tk'];
$form_pw = $_POST['dl_pw'];
$res = mysql_query("SELECT * FROM <tabelle> WHERE dl_token='$form_tk'");
while($row = mysql_fetch_array($res)) {
$db_tk = $row["dl_token"];
$db_pw = $row["password"];
$can_download = $row["can_download"];
$downloads = $row["downloads"]+1;
}
if($form_tk == $db_tk && $form_pw == $db_pw && $can_download == '1'){
mysql_query("UPDATE <tabelle> Set downloads = '$downloads' WHERE dl_token = '$form_tk'");
header("Location: http://www.domain.de/download/archive.rar");
exit();
}
Auf meiner Website funktioniert das so:
Kunde entscheidet sich mein Produkt (welches es ausschließlich als Download gibt) zu kaufen, er füllt ein Formular aus (Name, Adresse, EMail usw).
Sobald er das Formular abgeschickt hat (und die Felder alle korrekt ausgefüllt sind), wird ein Download-Token sowie ein Passwort generiert. Das wird zusammen mit den restlichen Eingaben des Kunden in einer DB gespeichert. Dann bezahlt der Kunde (PayPal) und wird wieder auf meine Seite geleitet.
Wurde der korrekte Betrag gezahlt (Überprüfung ob das PayPal-Formular nicht manipuliert wurde => gaaaaanz wichtig!), bekommt er eine E-Mail mit seinem Download-Link und dem dazugehörigen Passwort. Er klickt nun den Link aus seiner MAil und muss das Passwort eingeben, stimmt das Passwort mit dem in der Db hinterlegten überein, wird der Download freigegeben.
Im obigen Script sind viele Codeteile entfernt, es dient auch nur der Anschauung und für Ideen.
Man könnte zB. die Anzahl der Downloads mitloggen und vor dem Download dann jeweils prüfen, ob noch gedownloadet werden kann.
Bsp: Ein weiteres Feld in der Tabelle mit dem Standard-Wert "0". Nach erfolgreichem Download ein Update des Feldes auf "1" und dann einfach vor der Downloadfreigabe prüfen, ob der Wert des Feldes 0 oder 1 ist, bei 0 darf er downloaden, bei 1 nicht.
Da du dir aber selber nicht ganz sicher bist, wie du es realisieren solltst, kann ich dir leider net wirklich was anderes anbieten.
Wenn du es nicht alleine kannst, programmier ich dir gern was passendes, allerdings nicht kostenlos. Preis würde sich nach Art und Umfang des Projektes richten.
Ansonsten ist die Hilfe hier im FSB natürlich for free, du musst dir einfach nur klar werden wie es realisiert werden soll. Vielleicht kannst du auch paar Angaben machen, ob du Erfahrung in PHP hast bzw wieviel.
Dann kann dir auch besser geholfen werden.
MfG thomo