Une page unique à chaque membre

Eléphant du PHP | 75 Messages

10 oct. 2007, 15:00

Salut à tous!!

Me revoilà avec encore une fois un problème!

En ce moment je suis entrain de faire un p'tit jeu PHP où l'on doit contrôler sa flotte de vaisseaux pour se battre contre d'autres joueurs.

Seulement voilà, j'ai un problème!

J'essaye de faire une zone de login où les membres rentreront leurs identifiants qu'ils ont enregistrés à l'inscription.

Et lorsqu'ils se log, j'aimerais qu'il puisse accéder à leur compte.

De plus, chaque membre à un compte unique, c'est à dire qu'il peut être le seul à y accéder...

J'espère que vous avez un peu compris ce que je recherche, merci.

Volkow.

ViPHP
ViPHP | 4039 Messages

10 oct. 2007, 15:15

ben, des sessions avec une base de données derrière.. sans doute.

Je vois pas trop ou est le problème.. tu recherches une solution toute faite ?
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Mammouth du PHP | 568 Messages

10 oct. 2007, 15:16

Si tu veux, va déjà te promener sur des tutos expliquant le principe et les bases, comme celui-ci : http://www.phpdebutant.org/article47.php
Heddi s'est remis à développer pour lui même !
Martina Hingis - Étoile du Tennis
Heddi v. 2007

Eléphant du PHP | 75 Messages

10 oct. 2007, 15:20

Bah le truc c'est que je sais pas trop comment faire avec les sessions.

En fait je ne vois pas comment restreindre l'accès à une page (le compte d'un membre) à une seule personne (le membre à qui appartient le compte où il pourra voir ses infos).

S'il existe des solutions toutes faites, je suis preneur, en attendant que j'étudie le tuto.

Mammouth du PHP | 568 Messages

10 oct. 2007, 15:25

Ce que tu restreins, ce n'est pas la page, mais le contenu de la page.

La page sera la même pour tous, mais les informations contenues seront recupérées suivant la réussite de l'identification. Identification qui te donneras l'identité de la personne.
Heddi s'est remis à développer pour lui même !
Martina Hingis - Étoile du Tennis
Heddi v. 2007

Eléphant du PHP | 75 Messages

10 oct. 2007, 15:37

Ah ok!!

Et je fais comment pour faire ça?

C'est bien ce que je me disais mais comment le mettre en place?

En fait, il y aurait une seule page compte.php mais le contenu serait différent selon le login et le mot de passe entrés dans le formulaire de login, c'est ça?

Mammouth du PHP | 568 Messages

10 oct. 2007, 15:49

Je t'invite à consulter le lien transmis plus haut ou à en trouver d'autre. On ne pourras pas te dire tout ce que tu dois faire. Mais on pourra te guider dans les erreurs et problèmes que tu obtiendras.
Heddi s'est remis à développer pour lui même !
Martina Hingis - Étoile du Tennis
Heddi v. 2007

Eléphant du PHP | 75 Messages

10 oct. 2007, 16:28

Bon, j'ai essayé de faire quelque chose, mais j'ai un problème.

Voici les codes des pages concernées:


La page de login

Code : Tout sélectionner

<form action="login1.php" method='post'> <table align="center" border="0"> <tr> <td>Login :</td> <td><input type="text" name="login" maxlength="250"></td> </tr> <tr> <td>Password</td> <td><input type="password"name="pass" maxlength="10"></td> </tr> <tr> <td colspan="2" align="center"><input type="submit" value="log in"></td> </tr> </table> </form>

Le script de vérification
<?
// on se connecte à MySQL
$db = mysql_connect('localhost', '***, '***');

// on sélectionne la base
mysql_select_db('vkxrpg',$db);

if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {
  extract($_POST);
  // on recupère le password de la table qui correspond au login du visiteur
  $sql = "select pwd from tbl_user where login='".$login."'";
  $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

  $data = mysql_fetch_assoc($req);

  if($data['pwd'] != $pass) {
    echo '<p>Mauvais login / password. Merci de recommencer</p>';
    include('login.htm'); // On inclut le formulaire d'identification
    exit;
  }
  else {
    session_start();
    $_SESSION['login'] = $login;
    
    echo 'Vous etes bien logué';
	echo '<p><a href="http://www.volkteam.powa.fr/aprpg/mep/moncompte.php">Accéder à votre compte</a></p>';
    // ici vous pouvez afficher un lien pour renvoyer
    // vers la page d'accueil de votre espace membres
  }   
}
else {
  echo '<p>Vous avez oublié de remplir un champ.</p>';
   include('login.htm'); // On inclut le formulaire d'identification
   exit;
}


?>

La page du membre
<?
session_start();


$login = $_SESSION['login'];

if($login /= 'Volkow') 

{
  echo 'Vous n\'êtes pas autorisé à acceder à cette zone';
  include('login.htm');
  exit;
}

?>

<p>Voici votre compte...</p>
(en fait chaque membre aura une page à lui tout seul, ex.: le membre s'appelle Volkow, il aura comme page Volkow.php; et en fait dans le code précédent qui se trouve sur la page Volkow.php, je vérifie si le pseudo qui a été envoyé par login.htm et enregistré dans la session, correspond bien à la variable $login qui est égale à 'Volkow'.)

Mais malgré cela, il me renvois toujours à la page de login, comme si le pseudo de session n'était pas égal à 'Volkow', alors que je me suis logué avec un pseudo de session égal à 'Volkow'...

Mammouth du PHP | 568 Messages

10 oct. 2007, 16:47

C'est quoi le "/=" dans le if de ta page du membre ?

(Je pose la question, au cas où, pour pas me retrouver comme un couillon, mais je n'ai jamais vu ça... Tu es sur que tu ne voulais pas plutôt mettre "!=" ?)
Heddi s'est remis à développer pour lui même !
Martina Hingis - Étoile du Tennis
Heddi v. 2007

Eléphant du PHP | 75 Messages

10 oct. 2007, 16:50

Rectification, je me suis trompé, c'est un != que je voulais mettre (trop l'habitude des forums de maths avec le /= pour différent de... ^^)

Bon j'ai rectifié quelques trucs et maintenant ça marche!

Mon soucis maintenant c'est de n'avoir qu'une seule page moncompte.php pour tous les membres mais que celle-ci s'affiche de façon différente suivant le membre.

:roll:

Mammouth du PHP | 568 Messages

10 oct. 2007, 16:54

Généralement dans les jeux, les pages des utilisateurs sont toujours similaires pour le gros des informations. Ceux-ci évoluent dans le même monde et sur un point d'égalité, donc ça parait normal d'avoir la mêem page... non ?

Que penses-tu quand tu dis "s'affiche de façon différente" ?
Heddi s'est remis à développer pour lui même !
Martina Hingis - Étoile du Tennis
Heddi v. 2007

Eléphant du PHP | 75 Messages

10 oct. 2007, 17:39

Bah en fait je pensais faire une page unique compte.php mais dont les informations affichées (nombre de ressources dispos, nombre de vaisseaux, profil du joueur ,...) s'affiche en fonction de l'utilisateur.

Mammouth du PHP | 568 Messages

10 oct. 2007, 17:45

Oui, il n'y a donc aucun problème. Le but, ce sera donc pour toi de créer une page standard. Dans cette page, tu affiches les données de l'utilisateur que tu auras stocké (à priori) dans ta base de données.
Heddi s'est remis à développer pour lui même !
Martina Hingis - Étoile du Tennis
Heddi v. 2007

Eléphant du PHP | 75 Messages

10 oct. 2007, 18:02

Voilà, tout à fait.

Et ça, je ne vois pas comment faire... :/

Eléphant du PHP | 443 Messages

10 oct. 2007, 18:19

Tu es bizarre comme gars, tu commences ton post avec «En ce moment je suis entrain de faire un p'tit jeu PHP où l'on doit contrôler sa flotte de vaisseaux pour se battre contre d'autres joueurs.», je me dis beau projet...

Mais ensuite tu casses tout en disant que tu n'arrives pas à faire une page php pour faire un "select" ??!!

Je veux pas sembler «méchant», mais à mon avis tu ferais mieux de commencer par lire un bouquin d'initiation php/sql, ou des cours en ligne. Je veux bien t'aider à résoudre les problèmes que peux rencontrer (comme d'autres d'ailleurs), mais développer un jeu de vaisseaux intergalactiques pour toi ça me branche pas des masses...

Alors, bon courage à toi pour tes lectures, et si tu as des problèmes n'hésite pas, mais juste si c'est des problèmes "code / archi"...

a+
Modifié en dernier par Tracker le 12 oct. 2007, 10:49, modifié 1 fois.