Mysql
 sql >> Base de données >  >> RDS >> Mysql

Quels sont les moyens de stocker des informations sur un utilisateur anonyme/invité dans une base de données ?

En supposant que vous ayez besoin d'une adresse e-mail pour toutes les commandes en ligne, vous pouvez créer un compte temporaire pour chaque client à la fin de chaque commande lorsqu'il n'est pas connecté.

Cela peut être fait en utilisant l'adresse de livraison et d'autres informations fournies lors du paiement pour remplir le compte, et en leur envoyant un mot de passe temporaire aléatoire (éventuellement en le signalant pour qu'il nécessite une modification lors de la première connexion, si cette fonctionnalité est intégrée dans le site Web). Cela nécessite un effort minimal de leur part pour configurer le compte et leur permet de se connecter pour vérifier l'état de leur commande.

Étant donné que la clé primaire de votre base de données est le customer_id, cela ne devrait pas provoquer de conflits s'ils continuent à créer de nouveaux comptes avec le même e-mail/adresse/etc, à moins que vous n'ayez déjà mis en place un code pour éviter les doublons. Cependant, il est rare qu'une personne crée plusieurs comptes temporaires, car il est plus facile de se connecter avec le mot de passe qui lui a été envoyé par e-mail que de saisir à nouveau ses données.

Pour les commandes backend, nous créons généralement un compte de la même manière que ci-dessus pour chaque client. Cependant, s'ils n'ont pas d'adresse e-mail (ou s'ils veulent uniquement acheter par téléphone), nous générons un compte avec leurs informations d'expédition et une adresse e-mail vide (il faut coder une exception pour ne pas envoyer de mots de passe temporaires /confirmations de commande lorsqu'il est vide). Le customer_id leur est donné, et leurs informations d'expédition et le nom de l'entreprise sont stockés dans le compte pour rechercher et accélérer les commandes futures.