JeuWeb - Crée ton jeu par navigateur
Les bases d'un jeu web en PHP - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Les bases d'un jeu web en PHP (/showthread.php?tid=8200)



Les bases d'un jeu web en PHP - Xenos - 14-09-2020

Les bases d'un jeu web en PHP

Introduction

Bienvenue, cher amateur de programmation! Dans ce tutoriel, je vais t'apprendre les bases de la création d'un jeu en PHP/MySQL.
Pourquoi création est en gras? Parce que je vais vous apprendre ici les bases de création d'un jeu, et non de la programmation.
Il faut donc avoir des connaissances en PHP & MySQL!
Allez, vous êtes prêts?

Que faut il?

Ah… THE question!
Que faut il pour créer un jeu web complet ?
Rien de plus simple ! (en difficile !)

L'idée de votre jeu

Un jeu, c'est un projet. C'est une idée qui se concrétise. C'est un agglomérat de technologies, d'idées, d'avancement et des déconvenues, de temps investit, de confrontation d'idées. C'est une aventure … avec tout ce que l'on peut y imaginer. Généralement, "L'idée", vous l'avez déjà eue. Cela peut-être une idée totalement novatrice, ou refaire un jeu existant … mais en mieux. Dans ce dernier cas, essayez de vous renseigner sur le projet que vous voulez plagier : combien de personnes y a travailler dessus ? Quels est le niveau de ces personnes ? Combien de temps ont-ils consacrés ?
S'il s'agit d'une idée originale, dites-vous bien que le projet risque d'être long … très long … et que cela risque de mettre votre motivation à l'épreuve.

L'espace de travail

IL faut tout d'abord vous organiser.
Créez un répertoire sur votre ordinateur qui contiendra tous les dossiers/fichiers du jeu.
Mais il vous faut surtout des programmes !
N'espérez pas faire un jeu avec FrontPage… c'est bien pour une page simple, mais dès qu'on touche au PHP, il lâche… pareil avec Iweb etc.
L'excellence est bien évidemment Dreamweaver, par Adobe (pas donné il est vrai, mais une démo de 30 jours peut vous rendre bien des services) mais pour les bourses plus légères, un simple éditeur de texte suffit (optez pour un qui colore le code) mais cela bien évidemment uniquement pour le code, le design c'est autre chose.

Un langage dynamique

Pour rendre votre jeu dynamique, c'est-à-dire qu'il change en fonction de ce que fait l'utilisateur, vous aurez besoin d'un langage dynamique qui pourra interprété les actions des joueurs. Dans ce tutoriel, nous utiliserons un des langages les plus populaires : le PHP.

Un Espace Membre

Eh oui, car tout bon jeu nécessite un compte !

Commençons par l'inscription, car c'est là que démarre tout bon joueur :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>
 
<body>
<p>Inscription à mon jeu:</p>
<form id="form1" name="form1" method="post" action="inscription.php">
  <label>Nom d'utilisateur
  <input type="text" name="login" id="login" />
  </label>
  <br />
  <label>Mot de passe
  <input type="text" name="pass" id="pass" />
  </label>
  <br />
  <label>Adresse E-mail
  <input type="text" name="mail" id="mail" />
  </label>
  <p>
    <label>
    <input type="submit" name="button" id="button" value="Envoyer" />
    </label>
    <label>
    <input type="reset" name="button2" id="button2" value="Réinitialiser" />
    </label>
  </p>
</form>
<p>&nbsp; </p>
</body>
</html>

Oooooh ! Quelle magnifique page !
Mais, malheureusement, elle ne sert à rien pour l'instant !
C'est pourquoi il faut l'améliorer avec du code PHP afin de la rendre dynamique !
Ajoutez ça au dessus de tout le code :

<?php 
//on initialise les variables
$pseudo = $_POST['pseudo'];
$mail = $_POST['mail'];
 
mysql_connect("localhost", "Login", "MDP");
mysql_select_db("JEUWEB");
 
// On ajoute une entrée avec mysql_query
mysql_query("INSERT INTO membres VALUES('', '".$pseudo."', '".$pass".', '". .md5(mysql_escape_string($_POST['pass']))."')");
 
mysql_close();
 
?>

ATTENTION : c'est un code ultra-simplifié, sans aucune protection ! A vous de le rendre correct !

Voila ! Votre jeu compte désormais un joli membre !

La connexion

Cette fois encore je vous donne juste des bases de code à modifier

Pour lancer une connexion, créez une page de vérification, puis ajoutez ce code :

<?php
 
 
// Démarrage ou restauration de la session
session_start();
 
// Ecriture d'une nouvelle valeur dans le tableau de session
$_SESSION['login'] = $login
$_SESSION['id'] = $id // vous devez initialiser ces deux variables avant ce code
 
?>

Et voila ! vous êtes connecté !

Pour protéger une page, utilisez le code :

<?php
// On prolonge la session
session_start();
 
// On teste si la variable de session existe et contient une valeur
if(empty($_SESSION['login'])) {
 
    // Si inexistante ou nulle, on redirige vers le formulaire de login
    header('Location: connexion.php');
    exit();
}
?>

Pour afficher le pseudo du membre ajoutez :

<?php
 
        echo 'Bienvenue ', $_SESSION['login'];
?>

Et enfin pour finir, la déconnexion :

<?php
// On appelle la session
session_start();
 
// On écrase le tableau de session
$_SESSION = array();
 
// On détruit la session
session_destroy();
?>

pour en savoir plus sur les fonctions des sessions, un très bon tuto est disponible ici

Je finirai ce tuto plus tard, n'hésitez pas à le compléter !