2016-03-22 4 views
0

私はここで小さな助けが必要です。私は本のビジネスウェブサイトを構築しています。ここで、顧客が書籍をダウンロードしたい場合、まず請求書を支払う必要があり、支払いが成功した後、ページは顧客がその書籍をダウンロードできるダウンロードページにリダイレクトされます。ここで私の質問は、ユニークなWebページアドレスを作成する方法です(例えば、第1の顧客が請求書を支払うとダウンロードページが表示され(例:www.downloadthebook.com/1)、第2の顧客が請求書を支払った場合ダウンロードページは、このように表示されなければならないと言います(www.downloadthebook.com/2)。また、ダウンロードページのURLをコピーして新しいタブに読み込むと、URLは機能しません。お問い合わせください...すべての取引後に一意のWebページUrl

+1

あなたが試したことを表示しない限り、助けることはできません – brk

+0

私はhtmlとjavascriptでウェブサイトを作成しています。初心者です。 help me –

+1

これは、一度限りのダウンロードリンクと呼ばれます。例えば、ハッシュ関数を使ってリンクを生成し、それをデータベースに格納することができます。また、アクセスされたときにそのようにマークし、後でアクセスすることはできません。チェックアウトを完了したユーザーセッション/アカウントの背後にあるURLを非表示にするには、URLにアクセスする際に追加の検証を行います。 – aross

答えて

1

これはデータベースコンセプトで動作します。顧客1が支払いしているときと同様に、お支払いのあるテーブルに注文データを保存します。success(payment transaction id)テーブルの名前はis_doenloaded(ENUM filed value y/n)である必要がありますそして、あなたがそのカスタムテーブルからユーザーを特定するのに必要なすべてのユーザーに共通して、そしてあなたが支払った本を修正する必要があるブックページをダウンロードします。彼はちょうどちょうどYのフィールドの状態を更新ダウンロードした。彼はさらにダウンロードすることはできません。

私の考えがあなたを助けてくれることを願っています。おかげさまで

0

まあ、これは「プロフィール」ページにsimilliarで、 のように私はこれを行うには私のウェブサイトhttp://domain/profile/someonesUsername になった、私はhtaccessファイルを使用して、

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^book/([^/]+)$ ?bookid=$1 [NC,L] 

そしてPHPの内部で、あなたは必要になりますこれは:

else if(isset($_GET["bookid"])) 
    { 
     $bookid = $_GET["bookid"]; 
     if(/*Here you can check if the customer bought*/ == 1) 
     { // If he has, 
      header("Location: http://domain/download/book.txt"); 
     } 
     else 
     { 
      die("You didn't purchase this book!"); 
     } 
    } 
関連する問題