bräuchte dringenst hilfe mit einem benutzer-download-system
-
- Mitglied
- Beiträge: 28
- Registriert: 18.02.2003 21:43
bräuchte dringenst hilfe mit einem benutzer-download-system
Ich muss für einen Kunden eine Seite machen, auf der registrierte User einige Dateien zur auswahl haben und einfach auf Kaufen drücken und diese datei dann runterladen können (sie erscheint dann im portofilio, kann von dort aus beliebig oft wieder aufgerufen werden und am ende des monats bekommt er eine rechnung). das ist ja alles schön und gut, kein problem. aber wie mach ich es, dass nicht jeder dann einfach den link kopieren und den dateinamen ändern kann? und wie mach ich es, dass nur leute die auch auf kaufen geklickt haben die datei runterladen können?
ich hab noch absolut keinen plan über sessions, das ganze teil soll mit ner flatfile-db laufen.
wär sehr nett wenn jemand helfen könnte,
ist nämlich sehr wichtig!
vielen Dank schonmal im Vorraus!!
Gruß Constantin
ich hab noch absolut keinen plan über sessions, das ganze teil soll mit ner flatfile-db laufen.
wär sehr nett wenn jemand helfen könnte,
ist nämlich sehr wichtig!
vielen Dank schonmal im Vorraus!!
Gruß Constantin
Als das mit dem Download ist zwar ein kleines Problem, allerdings könnte das man mit JS schnell und einfach erledigen evtl. sogar mit PHP aber da müsste ich mir mal mehrere Gedanken machen.
Lösung mit JS:
den Kaufbutton oder Link auf eine Seite verlinken die mit einem JS ausgestattet ist welches überprüft ob man eingeloggt ist, wenn ja dann soll es automatisch im neuen Fenster die Datei zum Download aufrufen
Ich bin net grad sehr gekonnt mit JS, aber denke mal das es so in der Art klappen sollte. Im Notfall guckst du mal hier: SELFHTML.
Damit die User die lediglich auf Kaufen gedrückt haben auch die File runterladen können, kannste das auch über ein Formular machen und es über POST weiterschicken.
z.B.
Damit würde über das Protokoll der Wert TRUE (also 1) mit der Variable $HTTP_POST_VARS['kauf'] weitergegeben. Wenn nun jemand die URL kopiert und dies dann nochmal versucht, wird es nicht klappen, wenn du in der nachfolgenden PHP-File folgende Kontrollschleife machst:
Ich hoffe ich konnte ein bissl weiterhelfen.
Mfg
MrMind
Lösung mit JS:
den Kaufbutton oder Link auf eine Seite verlinken die mit einem JS ausgestattet ist welches überprüft ob man eingeloggt ist, wenn ja dann soll es automatisch im neuen Fenster die Datei zum Download aufrufen
Code: Alles auswählen
windows.open("http://DOMAIN.de/DOWNLOAD-FILE.zip");
Damit die User die lediglich auf Kaufen gedrückt haben auch die File runterladen können, kannste das auch über ein Formular machen und es über POST weiterschicken.
z.B.
Code: Alles auswählen
<form action="DATEI.php" method="POST">
<input type="hidden" name="kauf" value="1">
<input type="submit" value="Kaufen">
Code: Alles auswählen
if($HTTP_POST_VARS['kauf'])
{
//Anweisung zum Download
}
Ich hoffe ich konnte ein bissl weiterhelfen.
Mfg
MrMind
Selbst ist der Coder
Coder unter Linux
Coder unter Linux
Du kannst die Datei folgendermassen zum Download anbieten:
Dann kann man nur darauf zugreifen, wenn man berechtigt ist.
Code: Alles auswählen
<?php
if(benutzer_eingeloggt_und_hat_auf_kaufen_geklickt()) {
header("Content-type: image/jpeg");
readfile("blub.jpg");
}
else {
die("Schwirr ab");
}
?>
-
- Mitglied
- Beiträge: 28
- Registriert: 18.02.2003 21:43
-
- Mitglied
- Beiträge: 28
- Registriert: 18.02.2003 21:43
-
- Mitglied
- Beiträge: 28
- Registriert: 18.02.2003 21:43
ich hab jetzt das hier irgendwo gefunden:
aber da iwrd irgendwie alles zerstückelt, das zip bringt nen fehler
und mit nem mp3 und entsprechendem mime typ habn ichs auch probiert, das ist dann total zerstückelt!
aber da iwrd irgendwie alles zerstückelt, das zip bringt nen fehler
und mit nem mp3 und entsprechendem mime typ habn ichs auch probiert, das ist dann total zerstückelt!
Code: Alles auswählen
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Disposition: attachment; filename=1.zip;");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize("1.zip"));
readfile("1.zip");
exit();