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');
?>
De amúgy én ennek a $_SESSION['user_id'] változónak, hogyan adjak értéket? :)
Mert a felhasználósnál úgy volt, hogy amikor belépett volna akkor ott elmentettem a sessionba és átirányítottam az profile részhez :)
if ( mysql_num_rows($valami) != 0 )
{
$_SESSION['felhasznalo'] = $felhasznalo;
header('Location:');
}
Hát valahona csak meg kaptad a $felhasznalo változót.
Amikor be loggol az user kell hogy legyen ott egy adat kiolvasás, mint ez:
$lekerdezes = mysql_fetch_assoc(mysql_query("SELECT * FROM userek" WHERE jelszo = SHA('$jelszo')));
$felhasznalo = $lekerdezes['felhasznalo'];
És akkor itt kel az id kinyerni:
$user_id = $lekerdezes['user_id'];
Persze megéri rögtön sessionba rakni a belépés eredményét:
$lekerdezes = mysql_fetch_assoc(mysql_query("SELECT * FROM userek WHERE jelszo = SHA('$jelszo')"));
$_SESSION['felhasznalo'] = $lekerdezes['felhasznalo'];
$_SESSION['user_id'] = $lekerdezes['user_id'];
Aham értem már :)
Tehát amikor regiztrált automatikusan kapott egy id-t azt az id-t kérdezzem le majd mentsem el sessionba :)
Igen ezt automatikusan (egy új insert esetén) az sql adatbázis megadja minden extra beavatkozás nélkül ha van ilyen AI(automatikus számozás) mező.
Ez szinte minden sql tábla lelke, ritka hogy ha nincs auto sorszámozás.
Közbe néztem hogy ezt is rosszul írtam így néz ki általában, miután valaki egy űrlapon keresztül bejelentkezik.:
$lekerdezes = mysql_fetch_assoc(mysql_query("SELECT * FROM userek WHERE felhasznalo = '$felhasznalo' AND jelszo = SHA('$jelszo')"));
Igen igen :)
Viszont anno az extrák résznél be kellett kapcsolnom az auto_increment részt :)
Meg valamiért nem olvassa ki az id-t :S
az id rész ugye ott helyezkedik el ahol a felhasznalonev jelszo email stb ezek elején :)
$bejelentkezes = mysql_query("SELECT * FROM userek WHERE felhasznalo='".$felhasznalo."' AND jelszo='".$jelszo."'");
a bejelentkező részt alkalmaztam lekérdezésnek :)
a felhasználónév azt jó de az id miért azt nem tudom.
$_SESSION['felhasznalo'] = $bejelentkezes['felhasznalo'];
$_SESSION['user_id'] = $bejelentkezes['id'];
Onnan tudom, hogy sajnos nem küld semmit az id rész, hogy a profil részbe beszúrtam ezt ideiglenesen : echo "<b>id:</b>" .$_SESSION['user_id']."<br />";
Próbáld így:
$bejelentkezes = mysql_query("SELECT * FROM userek WHERE felhasznalo='$felhasznalo' AND jelszo='$jelszo'");
Amúgy a jelszo nevű mezőben van a jelszó és kódolatlanul?
Ha még mindig nem működik, akkor próbáld meg, hogy az elvileg már jól működő lekérdezésnél kérdezd le az id is, hogy ott bejön-e:
echo "<b>Üdvözlünk:</b> " .$_SESSION['felhasznalo']."<br />";
echo "<b>user_id:</b> " .$lekerdezes['id']."<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 />";
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!