Hogyan lehet megoldani azt, hogy a valós adatokat írja ki a weblap?
Sessionnal már meglett oldva, hogy bejelentkezve maradjunk, de hogy lehetne megoldani azt, hogy pl a rangot azt tényleg ahhoz a felhasználóhoz mutassa? mert most az elsőnek regisztrált tagnak mutatja a rangját az összes felhasználónak.
<?php
session_start();
?>
<?php
include ('config.php');
include ('felso.php');
?>
<?php
if ( $_GET['page'] == "kilepes" )
{
header("Location: belepes.php");
session_destroy();
}
$lekerdezes = mysql_fetch_assoc(mysql_query("SELECT * FROM userek"));
if ( isset($_SESSION['felhasznalo']) )
{
echo "<b>Üdvözlünk:</b> " .$_SESSION['felhasznalo']."<br />";
echo "<b>Rangod:</b> " .$lekerdezes['rang']."<br />";
echo "<b>Regisztrációd ideje:</b> ".$lekerdezes['regdatum']."<br />";
echo "<a href='?page=kilepes'>Kijelentkezés</a> <br />";
}
else
{
header('Location: belepes.php');
}
include ('also.php');
?>
Valósat írja ki csak rosszul kérdezel. :)
Egy általános kérdés teszel fel így az első szembejövő tételt olvassa ki:
"SELECT * FROM userek";
Meg kell adnod melyik sorra van szükséged, ahol az adott felhasználó adatai vannak:
"SELECT * FROM userek WHERE felhasznalo = '".$_SESSION['felhasznalo']."'";
Rendben értem :)
És $_COOKIE['id'] vel is meglehet oldani valahogy abban tudnátok segíteni?
A sütit felejsd el, felesleges, szügségtelen és nem biztonságos.
A rendszeren belül jobb és biztonságosabb az user id használni azonosításra szóval azt még érdemes tárolni sessionban és a fenti példában akkor a WHERE záradékot úgy lekérdezni.
Persze ezt GET link ként sose használd.
Ha valahol úgy adódna, hogy GET ként kell azonosítani usert arra is van biztonságos megoldás, de azt jobb kerülni.
Értem :)
És sima id-s azonosítás az hogy megy? :)
Amúgy így tökéletesen kiírja a helyes adatokat :
$lekerdezes = mysql_fetch_assoc(mysql_query("SELECT * FROM userek WHERE felhasznalo='".$_SESSION['felhasznalo']."'"));
:)
Hát ugye úgy illik összeállítani egy user táblát, hogy van egy olyan oszlop ami user id és ez auto emelkedőszámolásra állítod azaz ezt neked regkor nem is kell megadni ahogy van egy új reg (INSERT) akkor automatikusan megadja a következő sorszámot a rendszer.
Ez egy sql tábla beállítás.
Utána belogoláskor nem csak a nevet olvasod ki hanem ezt is és a belső lekérdezéskor ezzel azonosítasz:
"SELECT * FROM userek WHERE felhasznalo='".$_SESSION['user_id']."'"));
Ez azért is jó mert nehezíti a rendszer meg hekkelését, mert elméletileg külső személy nem ismerheti a user_id-t.
Bocs.
WHERE user_id ='".$_SESSION['user_id']."'"))
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!