JeuWeb - Crée ton jeu par navigateur
Soucis connection - 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 : Soucis connection (/showthread.php?tid=611)

Pages : 1 2


Soucis connection - Pyl - 07-01-2007

Coucou à tout ceux qui me connaisent Smile
J'ai repris depuis peux la création de mon jeu, mais il se trouve que j'ai un soucis technique avec mon systeme de connection...
Je m'explique et je vous laisse vérifier Testez vous même !

Le systeme de connection ne bug pas... enfin si ^^
Mais la connection se déroule sans probleme comme vous avez surment pu le constater Wink Le soucis c'est que si vous cliquez sur la zone indiqué on vous dit que vous n'etes pas connecté Confused et vous pouvez de nouveau vous connecter... Vous suivez ? alors c'est cool :glace:
J'ai farfouillé dans mon script mais je trouve pas ou ça bug... Donc je fais appel a vous ! ( tout est sur le même fichier " inscription.php " divisé en plusieurs " case "

Code PHP :
<?
include('zone-page/haut.php');
include(
'zone-page/menu-gauche.php');
include(
'zone-page/droit.php');

$page=@$_GET['page'];
switch(
$page)
{
//////Identification///
case '0' :
if(empty(
$_SESSION['connection']))
{
echo
'<br><br><form method="POST" action="identification.php?page=1">';
echo
'<table align="center"><tr><td><font size=2 color=white> Pseudo :</font></td><td><input type="text" name="Pseudo" size="10"></td></tr>';
echo
'<tr><td><font size=2 color=white> Mot de Passe : </font></td><td><input type="password" name="Mot_de_Passe" size="10"></td></tr>';
echo
'</table><center><br><input type="submit" value="s\'identifier"></center>';
echo
'</form>';
echo
'<br><br><center><img src="/image/we need you.jpeg"</center>';
}
else
{
$login=$_SESSION['login'];
$id=$_SESSION['id'];
echo
'<center><br><br>Au revoir <b>'.$_SESSION['login'].'</b>,et merci de votre visite. A bientôt !</center>';
echo
'<table align="center"><tr class="menu"><td><br><br><center><img src="/image/logo.gif"></center></td></tr><tr class="menu"></tr>';
echo
'<tr class="menu"><td><br><br><center><form method="POST" action="identification.php?page=3"><input type="submit" value="D&eacute;connexion"></center></form></td></tr></table>';}
break;

///////Traitement/////
case '1' :
include(
'bdd.php');
include(
'function.php');
$login = secure_string($_POST['Pseudo']);
$mdp = secure_string($_POST['Mot_de_Passe']);
$heureactu=mktime();
//Fonction d'affichage de message
function afficher ($message) {
global
$db;
echo
$message;
exit();
}
//Si l'user oublie le mot de passe ou le login
if(empty($login) or empty($mdp)) afficher ('<br><br><center>Vous devez obligatoirement rentrer un login et un mot de passe</center>');
//vérifier si le login existe
$sql = "SELECT COUNT(*) FROM membres WHERE joueur_pseudo='$login'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$res = mysql_fetch_array($req);
//si le login existe pas
if ($res == 0) afficher ('<br><br>Ce login n\'existe pas.');
else
{
//vérifie le mdp dans la BDD et on Recupere l'id du perso
$sql = "SELECT mot_passe,id,admin,camp,vac,ban FROM membres WHERE joueur_pseudo='$login'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_array($req);
$id=$data['id'];
$admin=$data['admin'];
$camp=$data['camp'];
//si le mdp est incorrect
if(pun_hash($mdp) != $data['mot_passe']) afficher ('<br><br><center>Ce mot de passe est incorrect<br /><a href="oubliepass.php">M\'envoyer mon mot de passe par mail</a></center>');
elseif (
$data['vac']>$heureactu)
{
$reste=$data['vac']-$heureactu;
$heure=intval($reste/3600);
$minute=intval(($reste-($heure*3600))/60)+1;
afficher ('<br><br><center>Vous &ecirc;tes en vacances pour encore '.$heure.' Heures et '.$minute.' Minutes.</center>');
}
elseif (
$data['ban']==1)
{
afficher ('<br><br><center>D&eacute;sol&eacute; mais vous &ecirc;tes bannis du jeu.</center>');
}
else
{
//démarre la session
session_start();
$_SESSION['login'] = $login;
$_SESSION['perso'] = $login;
$_SESSION['id'] = $id;
if (
$admin=='1') $_SESSION['admin'] = 1;
if (
$camp=='Triple Entente') $_SESSION['camp'] = 1;
if (
$camp=='Triple Alliance') $_SESSION['camp'] = 2;
$_SESSION['connection'] = 'on';
@
$req = mysql_query("UPDATE membres SET ip = '$REMOTE_ADDR' WHERE id='$id'") or die(mysql_error());
if(
$data['vac']!=0)
{
// code pour la réapparition (nouvelle affection des X et Y en aléatoire) //
$deletevac=mysql_query("UPDATE membres SET vac='0' WHERE id='$id'");
}
}
}
echo
'<br><br><center>Votre connection c\'est bien déroulé. <a href="jouer.php?page=0">Cliquez-ici</a> pour rejoindre le champ de bataille';
echo
'<br><br><center><img src="/image/avatargrandeguerreqi1.jpg"></center>';
break;

//////Pas de connection/////
case '2' :
echo
'<center>En Raison de traveaux il est impossible de se connecter au site pour le moment<br><br>Merci de votre compréhension<br><br><a href=index.php> Retour à l\'index</a>';
break;

/////Deconnection////
case '3' :
if(empty(
$_SESSION['bug'])) session_start();
else
$_SESSION['bug']='';
$id=$_SESSION['id'];
session_destroy();
echo
'<center>Vous êtes bien deconnecté<br><br><a href="index.php">Retour à l\'Index</a><br><br><img src="/image/Poilu 1.JPG"></center>';

break;
}
include(
'zone-page/droit2.php');?>

Merci d'avance !


RE: Soucis connection - Pyl - 07-01-2007

Personne ne peut m'aider ? Sad
J'ai encore cherché cette aprem mais sans grand succés...


RE: Soucis connection - Loetheri - 07-01-2007

Tu n'as pas oublié simplement le session_start qui doit être répété en chaque début de page ? -_-' Ici, je ne le vois qu'une fois


RE: Soucis connection - Pyl - 08-01-2007

Ben...
Dans la case '0' c'est le juste l'affichage du formulaire soit de connection, soit de deconnection donc il me semble pas que j'ai besoin d'une session start () si ?
Dans la case '1' il est en bas de case du fait que la connection se fait à la fin du script
Et dans la case case '3' il est au début juste après le if, la case '2' n'en a pas besoin car c'est juste une case pour empecher la connection


RE: Soucis connection - Loetheri - 08-01-2007

Je crois que je n'ai déjà pas du comprendre ton problème ... -_-'


RE: Soucis connection - Roworll - 08-01-2007

Je rejoins le point de vue de Loetheri.

Dans le cas 0, tu as des tests qui portent sur les variables de session
Code PHP :
<?php 
case '0' :
if(empty(
$_SESSION['connection']))

Mais apparemment, tu ne fais pas de session_start avant de tester le contenu de $_SESSION.
Donc, ce tableau sera toujours vide.
Donc, ça te redemandera toujours de te reconnecter.


RE: Soucis connection - Pyl - 08-01-2007

Code PHP :
<?php 
case '0' :
session_start();
if(empty(
$_SESSION['connection']))
{
echo
'<br><br><form method="POST" action="identification.php?page=1">';
echo
'<table align="center"><tr><td><font size=2 color=white> Pseudo :</font></td><td><input type="text" name="Pseudo" size="10"></td></tr>';
echo
'<tr><td><font size=2 color=white> Mot de Passe : </font></td><td><input type="password" name="Mot_de_Passe" size="10"></td></tr>';
echo
'</table><center><br><input type="submit" value="s\'identifier"></center>';
echo
'</form>';
echo
'<br><br><center><img src="/image/we need you.jpeg"</center>';
}
else
{
$login=$_SESSION['login'];
$id=$_SESSION['id'];
echo
'<center><br><br>Au revoir <b>'.$_SESSION['login'].'</b>,et merci de votre visite. A bientôt !</center>';
echo
'<table align="center"><tr class="menu"><td><br><br><center><img src="/image/logo.gif"></center></td></tr><tr class="menu"></tr>';
echo
'<tr class="menu"><td><br><br><center><form method="POST" action="identification.php?page=3"><input type="submit" value="D&eacute;connexion"></center></form></td></tr></table>';}
break;

J'ai rajouté le session start() au debut, mais mon soucis persiste, le mieux c'est que vous voyiez par vous même ce qui m'arrive Smile

Voyez-vous !

Pseudo : marvllt
Pass : azerty

Je pense que après avoir vu vous cernerez mieux mon probleme et serrez peut-etre plus en mesure de m'aider.


RE: Soucis connection - TEALC - 08-01-2007

Code PHP :
<?php 
//démarre la session
        session_start();
        $_SESSION['login'] = $login;
        $_SESSION['perso'] = $login;
        $_SESSION['id'] = $id;
          if ($admin=='1')  $_SESSION['admin'] = 1;
        if ($camp=='Triple Entente') $_SESSION['camp'] = 1;
        if ($camp=='Triple Alliance') $_SESSION['camp'] = 2;
        $_SESSION['connection'] = 'on';
        @$req = mysql_query("UPDATE membres SET ip = '$REMOTE_ADDR' WHERE id='$id'") or die(mysql_error());
        if($data['vac']!=0)
           {// code pour la réapparition (nouvelle affection des X et Y en aléatoire) //
           $deletevac=mysql_query("UPDATE membres SET vac='0' WHERE id='$id'");
           }
        }    
    
}
    echo '<br><br><center>Votre connection c\'est bien déroulé. <a href="jouer.php?page=0">Cliquez-ici</a> pour rejoindre le champ de bataille';
    echo '<br><br><center><img src="/image/avatargrandeguerreqi1.jpg"></center>';
    break;

Essai de faire un echo des variables de session pour etre sur qu'elles sont bien prise en compte

Code PHP :
<?php 
//démarre la session
        session_start();
        $_SESSION['login'] = $login;
        $_SESSION['perso'] = $login;
        $_SESSION['id'] = $id;
          if ($admin=='1')  $_SESSION['admin'] = 1;
        if ($camp=='Triple Entente') $_SESSION['camp'] = 1;
        if ($camp=='Triple Alliance') $_SESSION['camp'] = 2;
        $_SESSION['connection'] = 'on';
        @$req = mysql_query("UPDATE membres SET ip = '$REMOTE_ADDR' WHERE id='$id'") or die(mysql_error());
        if($data['vac']!=0)
           {// code pour la réapparition (nouvelle affection des X et Y en aléatoire) //
           $deletevac=mysql_query("UPDATE membres SET vac='0' WHERE id='$id'");
           }
        }    
    
}
    echo '<br><br><center>Votre connection c\'est bien déroulé. <a href="jouer.php?page=0">Cliquez-ici</a> pour rejoindre le champ de bataille';
    echo '<br><br><center><img src="/image/avatargrandeguerreqi1.jpg"></center>';
    echo '<br /><br /><center>'.$_SESSION['login'].' - '.$_SESSION['perso'].' - '.$_SESSION['id'].' - '.$_SESSION['admin'].' - '.$_SESSION['camp'].' - '.$_SESSION['connection'].'</center>';
    break;



RE: Soucis connection - Loetheri - 08-01-2007

Un petit conseil, développe d'abord ton jeu sur un serveur apache en intranet.
Chez moi, ton site n'est pas lent mais invivable. C'est aussi simple que ça.

Sinon pour ma part, tu as oublié de mettre des session_start sur TOUTES les pages en tout premier lieu.


RE: Soucis connection - Pyl - 09-01-2007

Je vais essayer vos deux conseils.
Juste pour savoir Loetherie, tu navigue sous IE ou FF ?
Car sous IE y bug pas mal alors que sous FF aucun soucis ^^

Sinon pas mal de monde ma dit que le site etait plutôt bien fait Confused