TourDeJeu, le portail des jeux en ligne alternatifs, les articles 
TourDeJeu, le réseau des jeux en ligne alternatifs : jeux web multijoueurs, jeux par forum. En savoir +
En ligne : 490 jeux, 7155 news, 26679 commentaires
 

Recherche de jeu par critères - Un jeu au hasard !

Les Focus

Tech. : Le programmeur écologique
Tech. : automatisation et mails
Salon MondeDuJeu 2002
Revue de presse des JpC
Humour : 1001 raisons pour jouer
Ludique : le joueur parfait
Ludique : découverte du JpC
PHP : accès base de données
PHP : structure du site
Ludique : JpC et Temps réel
Jeux de rôles sans règles
Humour : astrologie du JpC
Tech. : Bases de données
MJ : les joueurs multiples
PHP : utilité pour un JpC
PHP : c'est quoi ?
Tech. : l'analyse des ordres
Ludique : débutants et vétérans
Tech. : archi Ultraball 2100
Ludique : les jeux de pronos
Tech. : le site Web d'un JpC
Humour : football et wargame
Présentation de TourDeJeu

Accès la base de données MySQL pour son jeu PHP

Formulaire d'inscription

Maintenant que les parties existent, attaquons-nous à l'inscription des joueurs. On a déjà vu comment fonctionne le principe d'un formulaire et de l'insertion des données dans une table. C'est déjà l'essentiel !

Que doit contenir le formulaire ?

  • le nom : champs de saisie de texte
  • l'email : idem, avec une vérification (doit au moins contenir un @ et un .)
  • le mot de passe choisi : 2 champs à afficher en ****, et il faut que les deux champs soient égaux pour être valides

Bref, rien de compliqué ! on construit donc le formulaire HTML dans la page "forminscription.php" :

<form method="POST" action="enreginscription.php" name="saisie"
	onSubmit="return CheckForm()">
<p>Nom
<input type="text" name="i_nom" size="30" maxlength="30">
<p>Email
<input type="text" name="i_email" size="50" maxlength="50">
<p>Mot de passe
<input type="password" name="i_pass1" size="10" maxlength="10">
<input type="password" name="i_pass2" size="10" maxlength="10">
(saisir 2 fois pour vérification)
<input type="submit" value="Créer" name="go"></p>
</form>

La seule nouveauté pour nous est le champs de type password, qui a pour seule différence avec un champs de type text, le fait qu'il s'affiche sous forme de * quand l'utilisateur saisit quelque chose. C'est fait pour que quelqu'un à côté ne puisse pas lire le mot de passe, j'imagine. Selon les browsers et les options de sécurité, le browser peut aussi demander confirmation à l'utilisateur de laisser le script lire le contenu du champs mot de passe !

Le code Javascript de CheckForm() est enrichi, à voir dans le zip car ce n'est pas très intéressant à détailler ici.

Le formulaire envoie sur une autre page, cette fois, la page enreginscription.php, qui fera l'insert. On donne des valeurs par défaut aux autres colonnes de la table. Par exemple on utilise la fonction now() de MySQL pour donner la valeur du jour à la date d'inscription ou à la date de session.

Cela fonctionne tel quel, vous pouvez le vérifier en allant sur la page joueur du site, et en vous loggant avec le nom et le mot de passe que vous venez de saisir !

Mais il faut améliorer un peu en ajoutant avant l'insert une vérification que le pseudo et l'email donnés n'existent pas déjà dans la table ! pour ça, on va simplement faire des select dans la table sur ces deux champs, et empêcher l'enregistrement si ces valeurs ont déjà été données.

$res = mysql_query("SELECT id from fish_joueur where
			trim(upper(nom)) = trim(upper('$i_nom'))");
if (mysql_num_rows($res)>0) {
	echo"<p>Ce pseudo existe déjà dans la liste des joueurs.
			Veuillez choisir un autre pseudo.";
} else {
	... suite de l'inscription...

La fonction trim permet d'éliminer les blancs en début ou fin de nom, et la fonction upper passe tout en majuscules. Notre test permet donc de réperer les doublons même s'il y a des différences minuscules/majuscules ou de blancs.

Si l'on désire filtrer les inscriptions, il est souhaitable d'ajouter une colonne "état" dans la fiche de joueur, et de la mettre à "à valider" lors de la création. Pour valider l'inscription, soit le faire manuellement dans la page d'administration (rajouter une action "valider" sur chaque joueur qui passer l'état à "validé"), soit envoyer automatiquement (si votre hébergeur l'autorise) un mail au joueur, à l'adresse e-mail saisie, avec un code secret (à générer aléatoirement lors de l'inscription à et insérer en colonne supplémentaire pour le joueur), et attendre qu'il se logue sur une page spéciale où il saisira son code secret pour prouver qu'il lit son adresse e-mail.

Retour au sommaire de l'article 

(c) TourDeJeu 2000-2020