Kezdőoldal » Számítástechnika » Weblapkészítés » Hogyan lehet megoldani azt,...

Hogyan lehet megoldani azt, hogy a valós adatokat írja ki a weblap?

Figyelt kérdés

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');

?>


2011. júl. 29. 20:58
1 2 3 4
 1/34 anonim ***** válasza:

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']."'";

2011. júl. 29. 21:36
Hasznos számodra ez a válasz?
 2/34 anonim ***** válasza:
Persze azt csak feltételeztem, hogy az sql táblában van egy "felhasznalo" oszlop, de ha más a neve ahonnan a session kiolvassa a felhasználó adatot akkor azt kell oda írni.
2011. júl. 29. 21:38
Hasznos számodra ez a válasz?
 3/34 anonim ***** válasza:
Amúgy bejelentkezés után hány adatot tárolsz sessionben az userről a $_SESSION['felhasznalo'] kívül?
2011. júl. 29. 21:42
Hasznos számodra ez a válasz?
 4/34 A kérdező kommentje:

Rendben értem :)

És $_COOKIE['id'] vel is meglehet oldani valahogy abban tudnátok segíteni?

2011. júl. 29. 21:43
 5/34 A kérdező kommentje:
Csak a felhasználó nevét :)
2011. júl. 29. 21:45
 6/34 anonim ***** válasza:

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.

2011. júl. 29. 21:50
Hasznos számodra ez a válasz?
 7/34 A kérdező kommentje:

É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']."'"));


:)

2011. júl. 29. 21:53
 8/34 anonim ***** válasza:

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.

2011. júl. 29. 22:09
Hasznos számodra ez a válasz?
 9/34 anonim ***** válasza:

Bocs.

WHERE user_id ='".$_SESSION['user_id']."'"))

2011. júl. 29. 22:10
Hasznos számodra ez a válasz?
 10/34 A kérdező kommentje:
Rendben köszi alkotok valamit :)
2011. júl. 29. 22:31
1 2 3 4

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!