web-dev-qa-db-fra.com

Comment implémenter un formulaire de demande d'essai de logiciel?

Sur le site Web de mon entreprise, je souhaite créer un formulaire permettant à un visiteur de fournir une adresse électronique et de réussir un défi anti-bot. Le serveur enverrait alors une clé d’essai au visiteur par courrier électronique.

Contexte: J'intègre une solution de licence logicielle tierce dans les produits logiciels de mon ordinateur. Cela permet aux utilisateurs d'utiliser une clé de la forme "1234-56789-ABCDE-F0123" pour activer une version de démonstration limitée de mon logiciel. Malheureusement, je n'ai pas trouvé de fournisseur de licences proposant un simple service en ligne permettant de fournir les clés d'essai par courrier électronique. Je compte donc lancer mon propre service.

Lorsqu'un utilisateur envoie une adresse électronique, celle-ci est comparée à une liste d'adresses stockées. S'il s'est enregistré auparavant, sa clé précédente est renvoyée. Si l'adresse de messagerie est nouvelle, une nouvelle clé d'essai est envoyée à partir d'une liste préchargée de, par exemple, 1000 clés. Toutes les données (coordonnées et clés) doivent être stockées de manière sécurisée et il doit exister un portail de maintenance de base permettant la manipulation et la base de données. D'autres fonctionnalités peuvent suivre (par exemple, plusieurs versions de démonstration, capturant plus que l'adresse électronique à partir du formulaire).

C'est la seule page dynamique sur mon site Web - tout le reste est à peu près HTML statique. Quel est un bon moyen de mettre en œuvre ce comportement sur un hébergement peu coûteux/omniprésent (par exemple, MySQL, cPanel, etc.)? Quelle plate-forme/langue/CMS/services dois-je utiliser?

Je peux engager quelqu'un pour écrire des scripts, etc., mais j'ai d'abord besoin d'indications sur la plate-forme sur laquelle je devrais regarder. Merci beaucoup.

1
paperjam

L'hébergement avec cPanel, MySQL et PHPMyAdmin (qui vous donne accès au backend de la ou des bases de données) devrait suffire. N'importe quel langage de script Web peut faire ce que vous voulez, il est donc préférable de laisser la personne que vous embauchez choisir. PHP est un choix évident, et lorsque vous souhaitez modifier quelque chose, vous pouvez probablement trouver quelqu'un d'autre pour vous aider si la personne d'origine n'est même pas disponible.

1
paulmorriss
  1. Définissez une base de données avec les champs "clé", "statut" et "client".
  2. Rechercher le courrier électronique du client dans la base de données
  3. S'il existe, envoyez la clé associée
  4. Sinon, interrogez la base de données à la recherche de la première clé dont le statut est "non activé" ou quelque chose du genre et faites-la afficher.

form.php Juste un formulaire normal avec email et soumettre. Devrait utiliser la méthode 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];
}
}
?>

Vous devriez probablement ajouter une autre exception au cas où il ne resterait aucune clé et compléter également le code PHP dans validate.php (pour l'instant, il ne fait que rappeler les clés).

1
LordNeo