Problème sessions PHP

Répondre
MysterPixelious
le 11/05/2013 à 22:19
MysterPixelious
Bonjour phpfacilien
Je suis débutant et suis les cours de php pour créer mon site au fur et à mesure
Mais je bloque au 18. sur les sessions, dans l'exemple 2 il y a :

$login_valide = "moi";
$pwd_valide = "lemien";

Or, je voudrai déclarer 2 login et 2 pwd puisqu'on est 2 a se logger.
Merci d'avance pour votre aide.
Il existe 3 sortes de personnes : ceux qui savent compter, et ceux qui ne savent pas.
Morganpog
le 12/05/2013 à 22:56
Morganpog
Bonsoir,

N'étant pas un pro je ne sais pas si ca ira, il y a peu être plus simple que ce que je te propose.


<?php

$login_valide = "moi";
$pwd_valide = "lemien";
$login_valide2 = "toi";
$pwd_valide2 = "lesien";


if (isset($_POST['login']) && isset($_POST['pwd'])) {


if ($login_valide == $_POST['login'] && $pwd_valide == $_POST['pwd']) {
// dans ce cas, tout est ok, on peut démarrer notre session

// on la démarre :)
session_start ();
// on enregistre les paramètres de notre visiteur comme variables de session ($login et $pwd) (notez bien que l'on utilise pas le $ pour enregistrer ces variables)
$_SESSION['login'] = $_POST['login'];
$_SESSION['pwd'] = $_POST['pwd'];

// on redirige notre visiteur vers une page de notre section membre
header ('location: page_membre.php');
}
else {
if ($login_valide2 == $_POST['login'] && $pwd_valide2 == $_POST['pwd']) {
// dans ce cas, tout est ok, on peut démarrer notre session

// on la démarre :)
session_start ();
// on enregistre les paramètres de notre visiteur comme variables de session ($login et $pwd) (notez bien que l'on utilise pas le $ pour enregistrer ces variables)
$_SESSION['login'] = $_POST['login'];
$_SESSION['pwd'] = $_POST['pwd'];

// on redirige notre visiteur vers une page de notre section membre
header ('location: page_membre.php');
}
else {

// Le visiteur n'a pas été reconnu comme étant membre de notre site. On utilise alors un petit javascript lui signalant ce fait
echo '<body onLoad="alert(\'Membre non reconnu...\')">';
// puis on le redirige vers la page d'accueil
echo '<meta http-equiv="refresh" content="0;URL=index.htm">';
}
}
}
else {
echo 'Les variables du formulaire ne sont pas déclarées.';
}
?>
MysterPixelious
le 12/05/2013 à 23:04
MysterPixelious
Tu n'est peut-être pas un pro mais tu a résolu mon problème, maintenant on a chacun notre propre session.
Merci Morganpog.
Il existe 3 sortes de personnes : ceux qui savent compter, et ceux qui ne savent pas.
LupusMic
le 18/06/2013 à 04:59
LupusMic
Je n'ose pas imaginer la tête du script le jour où il y aura 10 utilisateurs ^^

Par exemple :
<?php
function do_post_login()
{
if('POST' !== $_SERVER['HTTP_METHOD'])
{
/* on ne gère que le HTTP POST */
return false;
}

$users = array
( 'user_1' => 'password'
, 'user_2' => 'password'
);

if(!isset($_POST['user']) || !isset($_POST['password']))
{
/* on gère le fait que les données saisies sont incomplètes */
return false;
}

$username = $_POST['user'];
$password = $_POST['password'];

if(!isset($users[$username]) || $password !== $users[$username])
{
/* on gère l'erreur d'authentification */
return false;
}

session_start();
$_SESSION['is_logged'] = true;
}

do_post_login();


Note que je n'ai pas mis le mot de passe et le nom d'utilisateur en session. La session est parfois maintenue dans le cookie. Tu imagines bien que ça peut poser des soucis de sécurité et de confidentialité.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
MysterPixelious
le 19/06/2013 à 22:55
MysterPixelious
Merci LupusMic pour ton aide
Il existe 3 sortes de personnes : ceux qui savent compter, et ceux qui ne savent pas.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours