Creating One Time Download Links

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
acerbitch
Δημοσιεύσεις: 37
Εγγραφή: 02 Φεβ 2009 11:33

Creating One Time Download Links

Δημοσίευση από acerbitch » 28 Αύγ 2012 13:32

Αγαπητά μέλη για ακόμα μία φορά θα χρειαστώ τη βοήθεια σας. Αντιμετωπίζω ένα θέμα αρκετά επίκαιρο. Θέλω να πουλήσω κάποια ψηφιακά αρχεία (φωτογραφίες κυρίως) μέσα από ένα site.

Η λογική που έχω στο μυαλό μου είναι μετά την πληρωμή (μέσω PayPal) να αποστέλλεται ένα email μήνυμα στον πελάτη με ένα μοναδικό link το οποίο θα παύει να λειτουργεί μετά από το download του αρχείου.

Βρήκα ένα script που εμφανίζει προσωρινά το link ενός αρχείου σε μία σελίδα και από εκεί ο πελάτης μπορεί να κατεβάσει το αρχείο. Τον κώδικα μπορείτε να τον δείτε και να τον κατεβάσετε από εδώ:

http://www.webvamp.co.uk/blog/coding/cr ... oad-links/

Για το δικό μου project έκανα κάποιες απαραίτητες αλλαγές εφόσον θέλω να στέλνει το link στο email του πελάτη. Το πρόβλημα είναι ότι ο σύνδεσμός που στέλνεται είναι άχρηστος. Προφανώς έχω κάνει κάποιο λάθος. Παρακάτω σας παραθέτω το κομμάτι του κώδικα που έχω προσθέσει (μέσα στο αρχείο index.php από τα αρχεία του script που κατέβασα) έτσι ώστε να αποστέλλεται το email.

//This variable has the link for the user in order to download the file. The variable is used inside the email message.
$url="<a href='download.php?key=<?=$strKey;?>'>download.php?key=<?=$strKey;?></a>";

// Send a confirmation email to the user with his/her data.
$headers4="info@xxx.gr"; // Το email απ&#8217; όπου γίνεται η αποστολή
$headers.="Reply-to: $headers4\n";
$headers.= "From: $headers4\n";
$headers.= "Errors-to: $headers4\n";
$headers = "Content-Type: text/html; charset=utf-8\n".$headers;// Encoding email to UTF-8

$user_message = "Message to the user<br /><br />$url<br /><br />Thank you";
mail($email, 'Subject', $user_message, $headers);

// Send an email notice to administrator when a successful registration happens.
$msg = 'There has been a new payment considering a digital file.';
mail(info@xxx.gr, 'Subject', $msg);

?>

Απ&#8217; ότι μπορείτε να δείτε περνάω το link μέσα στη μεταβλητή $url και μετά εμφανίζω την μεταβλητή μέσα σε μία άλλη μεταβλητή που αποτελεί και το περιεχόμενο του email μηνύματος που πάει στον πελάτη.

Καμιά ιδέα για το τι πάει λάθος;

Ευχαριστώ.

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

Creating One Time Download Links

Δημοσίευση από alou » 28 Αύγ 2012 14:25

acerbitch έγραψε: $url="<a href='download.php?key=<?=$strKey;?>'>download.php?key=<?=$strKey;?></a>";

Κώδικας: Επιλογή όλων

$url="<a href='download.php?key=".$strKey."'>download.php?key=".$strKey."</a>";
edit: εφόσον το στέλνεις με email, το url σου θα πρέπει να είναι ολόκληρο, δηλαδή mydomain.com/download.php.... εκτός αν κάτι δεν κατάλαβα καλά.

acerbitch
Δημοσιεύσεις: 37
Εγγραφή: 02 Φεβ 2009 11:33

Creating One Time Download Links

Δημοσίευση από acerbitch » 28 Αύγ 2012 15:06

Σε ευχαριστώ πολύ alou!

Το link είναι λειτουργικό με τις αλλαγές που πρότεινες!

Να σαι καλά!

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης