web-dev-qa-db-ja.com

ソフトウェアトライアルリクエストフォームの実装方法

会社のWebサイトに、訪問者が電子メールアドレスを入力してアンチボットチャレンジに合格できるフォームが必要です。サーバーは、訪問者に試用キーを電子メールで送信します。

背景:サードパーティのソフトウェアライセンスソリューションをPCソフトウェア製品に統合しています。これにより、ユーザーは「1234-56789-ABCDE-F0123」という形式のキーを使用して、ソフトウェアの限定デモ版をアクティブ化できます。残念ながら、電子メールでトライアルキーを配信する簡単なオンラインサービスを提供するライセンスベンダーを見つけることができなかったため、独自のサービスを展開する予定です。

ユーザーがメールアドレスを送信すると、保存されているアドレスのリストと照合されます。彼が以前に登録したことがある場合、彼の以前のキーは再送されます。電子メールアドレスが新しい場合、1000個のキーなどのプリロードされたリストから新しいトライアルキーが送信されます。すべてのデータ(連絡先情報とキー)は安全に保存する必要があり、データベースの操作とデータベースの操作を可能にする基本的なメンテナンスポータルが必要です。他の機能が続く場合があります(たとえば、複数のデモバージョン、フォームから電子メールアドレス以上をキャプチャする)。

これは私のウェブサイトで唯一の動的なページです-それ以外はほとんど静的なHTMLです。低コスト/ユビキタスホスティング(MySQL、cPanelなど)でこの動作を実装する良い方法は何ですか?どのプラットフォーム/言語/ CMS /サービスを活用すべきですか?

スクリプトなどを書くために誰かを雇うかもしれませんが、最初に私が見なければならないプラットフォームに関する指示が必要です。どうもありがとう。

1
paperjam

CPanel、MySQL、およびPHPMyAdmin(データベースのバックエンドにアクセスできる)でホストすれば十分です。どのWebスクリプト言語でもあなたが望むことをすることができるので、雇う人に選択させるのが最善かもしれません。 PHPは当然の選択であり、変更が必要な場合は、元の人物がいない場合でも、他の誰かがあなたを助けてくれる可能性があります。

1
paulmorriss
  1. 「キー」、「ステータス」、および「クライアント」フィールドでDBを設定します。
  2. DBでクライアントのメールを検索します
  3. 存在する場合は、関連付けられたキーを送信します
  4. それ以外の場合、ステータスが「アクティブ化されていない」またはそのような何かを持つ最初のキーをDBに照会し、エコーします。

form.phpメールと送信のある通常のフォーム。メソッドPOSTをvalidate.phpに使用する必要があります

validate.php

<?php
$dbhost = $Host; //Use a require file to load your data or replace this ones
$dbname = $base; //
$dbuname = $user; //
$dbpass = $pass; //
$email = $POST_["email"];
$TableName = "keys";
$Link = new PDO("mysql:Host=$dbhost;dbname=$dbname", $dbuname, $dbpass);
$Query = "SELECT * FROM $TableName WHERE email LIKE $email";
$Result = $Link->query($Query);
if (!$Result) {
    $Query = "SELECT * FROM $TableName WHERE status LIKE 'inactive' LIMIT 1";
    $Result = $Link->query($Query);
    echo $row[key];
} else {
while ($row = $Result->fetch(PDO::FETCH_ASSOC)) {
    echo $row[key];
}
}
?>

キーが残っていない場合に別の例外を追加し、validate.phpのPHPコードを完成させる必要があります(今すぐキーをエコーするだけです)。

1
LordNeo