Sessions en PHP avec lien BD

Fermé
redlevel Messages postés 1 Date d'inscription jeudi 9 février 2012 Statut Membre Dernière intervention 9 février 2012 - 9 févr. 2012 à 20:03
 redlevel - 10 févr. 2012 à 14:01
Bonjour à tous,

Avons besoin d'une petite aide interdevelopp au niveau de PHP / sessions avec lien BD.
Le code ci-dessous crée une SESSION en vérifiant l'accès via une BD
Si le login et password envoyés dans le formulaire sont trouvés et existants donc dans la table créée à cet effet, la session est acceptée ..

Notre soucis est simple : comment pouvons-nous récupérer l'ID (row) de cette table dans laquelle l'ouverture de session a trouvé le login et password après le mécanisme du POST ... donc sur notre page 'Dall.php' ($MM_redirectLoginSuccess) ?
... ID de la ligne donc correspondante au login et password trouvés ?

En vous remerciant à tous pour votre aide ...
Marc

[CODE]
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}

$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset($_POST['login'])) {
$loginUsername=$_POST['login'];
$password=$_POST['passw'];
$MM_fldUserAuthorization = "";
$MM_redirectLoginSuccess = "Dall.php";
$MM_redirectLoginFailed = "ec-.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_c0000, $c0000);

$LoginRS__query=sprintf("SELECT login, passw FROM '7775fea2' WHERE login=%s AND passw=%s",
GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));

$LoginRS = mysql_query($LoginRS__query, $c0000) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = "";

if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;

if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>
/CODE

4 réponses

momohuri Messages postés 235 Date d'inscription lundi 6 juillet 2009 Statut Membre Dernière intervention 9 février 2012 8
9 févr. 2012 à 23:02
je suppose que vous avez pas pondut ce genre de code pour une question du genre ....
c est aps pour etre mechant mais juste pour dire que si vous compte faire d autre modifs alors faudrait faire qq tuto sur le php...

sinon suffit de rajouter l le nom de la colone id ici:
SELECT login, passw,nomdelacoloneid FROM '7775fea2' WHERE login=%s AND passw=%s

Ensuite faire un
$resultat=mysql_fetch_array('$LoginRS');
puis un $_SESSION['id']=$resultat['nomdelacoloneid']
0
Bonjour momohuri et 1 grand merci pour ta réponse rapide.
En effet, le code sort d'une app (dreamweaver CS5).
Avant de poster cette question, nous avons tenté de parcourir pas mal de tuto et forum en vain ... n'avons pas trouvé notre rép.

1. ton code créa VARIABLE 'resultat ...' est-il à placer dans cette même page (post formulaire session) ou dans celle de redirection quand session OK ? (dans ce cas-ci : Dall.php) ?

2. Dream n'aime pas trop le 'mysql_fetch_array' . (indique une erreur) As tu une alternative ? (genre 'mysql_query' )

3. Afin de récupérer, dans la page de redirection (Dall.php), le fameux ID issu de la table contenant les utilisateurs autorisés (7775fea2), devons-nous effectuer un filtre en variable de SESSION, de SERVEUR ou en paramètre url ?

Merci
Marc
0
Salut
devons-nous effectuer un filtre en variable de SESSION, de SERVEUR ou en paramètre url ?

En plus de faire mal à la tête ça prouves que vous n'entravez pas grand chose à la programmation(beurk la terminologie Dreamweaver on dirait du Access alors que pour Access ça peut se justifier, mais Dreamweaver n'as rien inventé et s'appuie sur des bases existantes en inventant des termes qui n'existent pas, les filtres j'en ai dans mon évier mais pas en code...).
Faire du php/bdd avec Dreamweaver s'avère aussi compliqué que sans Dreamweaver, et le code de Dreamweaver n'est pas fait pour être lu par des humains...
Il faudrait que vous acquériez quelques bases des langages serveurs(php) et de SQL pour au moins comprendre la requête:
SELECT login, passw,nomdelacoloneid FROM '7775fea2' WHERE login=%s AND passw=%s


Un lien ici:
http://www.commentcamarche.net/contents/sql/sqlintro.php3
0
Cher Bornel,

Merci pour avoir pris la peine de répondre à notre post.
Néanmoins, tout doux !
Nous sommes des designers, et non pas des développeurs purs ...et il est vrai, nous bossons majoritairement avec l'appui de Dream.

Nous n'aurions pas poster cette demande pour récupérer un lien nous renvoyant vers un genre de 'Wikipedia SQL'. Nous devons trouver une sln à ce probl rapidement quitte à lacher une facture de prestation pour cela. (agence).
( a bon entendeur ..)

Merci encore quand même pour avoir pris le temps de nous rép.
Bav
Marc
0