JeuWeb - Crée ton jeu par navigateur
Confirmation a propos de l'expiration des sessions + inscription/login en session[reg - 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 : Confirmation a propos de l'expiration des sessions + inscription/login en session[reg (/showthread.php?tid=1592)

Pages : 1 2 3 4 5 6 7 8


RE: Questions de débutant - Sephi-Chan - 17-08-2007

A peu près.

Tu as encore des sorties HTML là où tu fais tes requêtes. Il faut mettre la redirection dans les die().

Tu n'as pas tenu compte de mon conseil dans ta condition if($loginOK), tu persistes à la faire 2 fois alors que mettre ls 2 instructions dans le même bloc est plus simple et rapide.

Tu as mis le ?> avant le else à la fin. :p

Mais sinon c'est ça.
N'oublie pas de modifier la page de formulaire de connexion pour qu'elle puisse afficher un message d'erreur.


Sephi-Chan


RE: Questions de débutant - p6Kotic - 17-08-2007

Code PHP :
<?php

session_start
();

define('URL_SUCCES', 'http://www.spacebattle.redby.fr/gameindex.php');
define('URL_ECHEC', 'http://www.spacebattle.redby.fr/login.html?erreur=1');

$loginOK = false;

if ( isset(
$_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) ) {

extract($_POST);

$db = mysql_connect('sql.redby.info', 'spacebattle0', '356574') or die();

mysql_select_db('spacebattle0',$db) or die();

$sql = "SELECT pseudo, mot_de_passe from game where pseudo = '".addslashes($login)."'";

$req = mysql_query($sql) or die();

if (
mysql_num_rows($req) > 0) {

$data = mysql_fetch_assoc($req);

if (
$password == $data['mot_de_passe']) {

$loginOK = true;
}
}
}
if (
$loginOK) {$_SESSION['pseudo'] = $_POST['login'];
header("Location: URL_SUCCES"); }


else {
header("Location: URL_ECHEC"); } ?>
Et comme sa c'est bon?

En fait si j'ai pas mis tout en 1 seul bloc,c'est parce que pour moi sa me parait plus clair mais si c'est + rapide alors c'est vrai que c'est + mieux.

edit:le formulaire est déja fait


RE: Questions de débutant - Sephi-Chan - 17-08-2007

Toujours pas. Une die() vide affichera la page... vide. Toute blanche. Il faut vraiment que dans chaque die() soit :
Code PHP :
<?php 
header
("Location: URL_ECHEC"); }

Ensuite tu peux tester en local, ça devrait être bon.


Sephi-Chan


RE: Questions de débutant - p6Kotic - 17-08-2007

pour le moment je tombe systématiquement sur des parse error mais je suis en train de rectifier petit a petit...


RE: Questions de débutant - Sephi-Chan - 17-08-2007

N'hésite pas à les inscrire ici, qu'on t'aide à déboguer.


RE: Questions de débutant - p6Kotic - 17-08-2007

Citation :Parse error: syntax error, unexpected ';' in /data/users/s/spacebattle/veriflogin.php on line 14
Voila ce que j'ai pour le moment...
Mais de toute façon là je peux pas modifier car j'ai un probleme avec le serveur ftp...


RE: Questions de débutant - Sephi-Chan - 17-08-2007

Il faut aussi montrer les lignes en question si tu veux qu'on te dépanne. -.-


RE: Questions de débutant - p6Kotic - 17-08-2007

Code PHP :
<?php

session_start
();

define('URL_SUCCES', 'http://www.spacebattle.redby.fr/gameindex.php');
define('URL_ECHEC', 'http://www.spacebattle.redby.fr/login.html?erreur=1');

$loginOK = false;

if ( isset(
$_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) ) {

extract($_POST);

$db = mysql_connect('sql.redby.info', 'spacebattle0', '356574') or die(header("Location: URL_ECHEC");

mysql_select_db('spacebattle0',$db) or die(header("Location: URL_ECHEC");

$sql = "SELECT pseudo, mot_de_passe from game where pseudo = '".addslashes($login)."'";

$req = mysql_query($sql) or die(header("Location: URL_ECHEC");

if (
mysql_num_rows($req) > 0) {

$data = mysql_fetch_assoc($req);

if (
$password == $data['mot_de_passe']) {

$loginOK = true;
}
}
}
if (
$loginOK) {$_SESSION['pseudo'] = $_POST['login'];
header("Location: URL_SUCCES"); }


else {
header("Location: URL_ECHEC"); } ?>



RE: Questions de débutant - Sephi-Chan - 17-08-2007

Désolé, là je vois pas.


RE: Questions de débutant - p6Kotic - 17-08-2007

j'ai viré tous les die()
sa marche (enfin presque)
Code PHP :
<?php

session_start
();

define('URL_SUCCES', 'http://www.spacebattle.redby.fr/gameindex.html');
define('URL_ECHEC', 'http://www.spacebattle.redby.fr/login.html?erreur=1');

$loginOK = false;

if ( isset(
$_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) ) {

extract($_POST);

$db = mysql_connect('sql.redby.info', 'spacebattle0', '356574');

mysql_select_db('spacebattle0',$db);

$sql = "SELECT pseudo, mot_de_passe from game where pseudo = '".addslashes($login)."'";

$req = mysql_query($sql);

if (
mysql_num_rows($req) > 0) {

$data = mysql_fetch_assoc($req);

if (
$password == $data['mot_de_passe']) {

$loginOK = true;
}
}
}
if (
$loginOK) {$_SESSION['pseudo'] = $_POST['login'];
header("Location: URL_SUCCES"); }


else {
header("Location: URL_ECHEC"); } ?>

mais y'a un probleme:il ne me dirige pas du tout sur la page :/