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
 21/34 A kérdező kommentje:
Így se írja ki az id-t pedig az adatbázisban ott van :)
2011. júl. 29. 23:37
 22/34 anonim ***** válasza:

Márpedig ha a rangot és a reg időt jól írja ki akkor ezt is jól kellene.

Valami elírás lesz ott.

Pl hiányzik a ; vagy az id nem az id nevű oszlopban van, vagy bármi más.

Biztos, hogy van érték az id mezőben?

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

Most már kiírja nem tudom mi lehetett a gond :S

Annyit csináltam hogy á írtam a * userekre : $lekerdezes = mysql_fetch_assoc(mysql_query("SELECT userek FROM userek WHERE felhasznalo='".$_SESSION['felhasznalo']."'"));


majd hibát jelzett és vissza ezt :)

$lekerdezes = mysql_fetch_assoc(mysql_query("SELECT * FROM userek WHERE felhasznalo='".$_SESSION['felhasznalo']."'"));


<?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 WHERE felhasznalo='".$_SESSION['felhasznalo']."'"));

if ( isset($_SESSION['felhasznalo']) )

{

echo "<b>Üdvözlünk:</b> " .$_SESSION['felhasznalo']."<br />";

echo "<b>Rangod:</b> " .$lekerdezes['rang']."<br />";

echo "<b>id:</b>" .$lekerdezes['id']."<br />";

echo "<b>Regisztrációd ideje:</b> ".$lekerdezes['regdatum']."<br />";


if ( $lekerdezes['rang'] == "Admin" )

{

echo "<fonr color='red'><a href=''>Adminisztráció</a></font> <br />";

}


echo "<a href='?page=kilepes'>Kijelentkezés</a> <br />";

}

else

{

header('Location: belepes.php');

}

include ('also.php');

?>

2011. júl. 29. 23:55
 24/34 anonim ***** válasza:

Ja hát nem csoda, hogy hibát jelzett.

Az userek táblában van egyáltalán userek oszlop?


Amúgy is ha több adatot olvasol ki akkor inkább jobb a *, azaz az össze mező lekérdezése.

2011. júl. 30. 00:01
Hasznos számodra ez a válasz?
 25/34 A kérdező kommentje:
Értem nem amúgy úgy van, hogy van egy userek tábla amibe van id, rang, felhasznalo, jelszo, email
2011. júl. 30. 00:04
 26/34 A kérdező kommentje:

Áh megvan :)

Most minden okés :)

Az volt a baj, hogy ha a bejelentkezés résznél ezt akartam használni:

$bejelentkezes = mysql_query("SELECT * FROM userek WHERE felhasznalo='$felhasznalo' AND jelszo='$jelszo'");


Tehát nem raktam mysql_fetch_assoc-ba


így már jó:


$bejelentkezes = mysql_query("SELECT * FROM userek WHERE felhasznalo='$felhasznalo' AND jelszo='$jelszo'");

if ( mysql_num_rows($bejelentkezes) != 0 )

{

$lekerdezes = mysql_fetch_assoc($bejelentkezes);

$_SESSION['felhasznalo'] = $bejelentkezes['felhasznalo'];

$_SESSION['user_id'] = $lekerdezes['id'];

header("Location: belepes2.php");

}

Este van már azért is tévedhetek :)


Már csak a jelszó kódolását kellene majd megcsinálni én nem értek hozzá majd tudnál abban segíteni?


Most megyek pihenni jó éjszakát :)

2011. júl. 30. 00:17
 27/34 anonim ***** válasza:

Ha egy másik táblában kell a felhasználóra utalni akkor is érdemes az id-vel tenni, optimálisabb a rendszernek.


Milyen weboldalt csinálsz ha nem titok?

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

Hát végól is nem csinálok weblapot :)

Vagy is szeretnék majd egy közösségi oldalt volt egy filmes oldalam meg lesz is egy a közeljövőben, régebben php fusion-t használtam, de szeretnék saját kézzel írt weblapot egyenlőre ez csak gyakorlás céljából csinálom :)


Itt megtekinthető: [link]

Tudom, hogy nem valami jó de valahol el kell kezdeni ;)

2011. júl. 30. 00:25
 29/34 anonim ***** válasza:

Kódolás módosítása az update paranccsal történik:

$kodolas = "UPDATE userek SET jelszo = SHA(jelszo)";

mysqli_query($dbc, $kodolas);


A $dbc az adatbézis adatok (név, user, jelszó, adatbázis név)


FONTOS!

1, elötte a jelszó mezőt 40 karakteres varchar mezővé kell alakítani.

2, A fenti kódot csak egyszer futtasd le (sikeresen), mert ha a kódolást is átkódolja akkor kuka az egész.

Jobb ha csinálsz egy tábla mentést előtte.

3, Ha sikerült az átkódolás, akkor onnantól a WHERE záradék már nem jelszo = '$jelszo' lesz hanem jelszo = SHA('$jelszo') lesz különben hibás lesz az eredmény

2011. júl. 30. 00:30
Hasznos számodra ez a válasz?
 30/34 anonim ***** válasza:

+1

Ja igen és innentől kezdve nem jelszó emlékeztető van, hanem új jelszó kérése, de nagyjából ez a biztos jele, hogy egy rendszer biztonságos-e.

Ahol van jelszó emlékeztető az problémás.


Na ez is egy külön mutatvány. :)

Jó gyakorlást, megyek már én is.

2011. júl. 30. 00:34
Hasznos számodra ez a válasz?
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!