Hogyan tudom ki íratni egy ellenőrzött belépés után a nevemet?
Adott egy regisztrációs lap, egy belépési lap és maga a belépett oldal lapja ahol már fut a "session".
Beléptetett oldal:
session_start();
if(!isset($_SESSION['email']))
{
header("Location: login.php");
}
A belépésnél megvannak adva a következők:
$_SESSION['full_name'] = $row['full_name'];
$_SESSION['email'] = $row['email'];
$_SESSION['fname'] = $row['fname'];
$_SESSION['lname'] = $row['lname'];
$_SESSION['avatar'] = $row['avatar'];
Amikor belépek ki iratom a fent említett mezőket egy sql táblából akkor:
<?php echo $_SESSION['full_name']; ?>
ki is írja szépen midet.
Viszont maga a belépés az email és jelszóval történik ezért ezt a kettő adatot mindenképp ki lehet íratni. Viszont ha már 1-nél több regisztrált profil van
akkor nem a saját reg. adataimat írja ki hanem a legelső id-vel ellátott felhasználóét
Az lenne a kérdésem hogy miért?
Gondolom rossz a lekérés és a feltétel amivel ellenőrzöd az adatokat.
De ha nem barkóbázni szeretnél, akkor megoszthatnád a kódot is mondjuk (valami kódmegosztó oldalon keresztül, bár még jobb lenne egy github), mert úgy érdemben lehetne segíteni.
És érdemes azt is megosztanod, mi alapján tanulod, mert van egy érzésem, hogy butaságot fogsz megtanulni....
Mi alapján azonosítod a felhasználókat? Van numerikus ID-jük?
Az SQL lekérdezésből gondolom hiányzik a WHERE klauza, anélkül az összes adatot visszaadja, a kódod pedig gondolom a tömb 0. elemét veszi.
Srácok, kínlódás a github nincs profilom ezért ide beteszem:
------------------------------------------------------------------------------
INDEX.PHP
<?php
session_start();
if (!isset($_SESSION['email'])) {
header("Location: login.php");
}
?>
<html >
<head>
</head>
<body>
<?php echo "Becenév - " . $_SESSION['full_name']; ?><p>
<?php echo "Email - " . $_SESSION['email']; ?><p>
<?php echo "Vezetéknév - " . $_SESSION['fname']; ?><p>
<?php echo "Keresznév - " . $_SESSION['lname']; ?><p>
<?php echo "Regisztrált - " . $_SESSION['regdate']; ?><p>
</body>
</html>
------------------------------------------------------------------------------
LOGIN.PHP
<?php
include 'login_php.php';
?>
<html >
<head>
</head>
<body>
<form action="" method="post">
BELÉPÉS<p>
<input type="email" name="email" placeholder="Email"><p>
<input type="password" name="password" placeholder="Jelszó"><p>
<a href="register.php"><button type="button" name="submit">REGISZTRÁCIÓ</button></a>
<button type="submit" name="submit" >BELÉPÉS</button>
</body>
</html>
--------------------------------------------------------------------------------
LOGIN_PHP.PHP
<?php
session_start();
if (isset($_SESSION['email']))
{
header("Location: index.php");
}
include 'core/config.php';
if (isset($_POST['submit']))
{
$email = $_POST['email'];
$password = md5($_POST['password']);
$sql = "SELECT * FROM users WHERE email='$email' AND password='$password'";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) == 1)
{
$sql1 = "SELECT * FROM users";
$result1 = mysqli_query($conn, $sql1);
if (mysqli_num_rows($result1) > 0)
{
$row = mysqli_fetch_assoc($result1);
$_SESSION['full_name'] = $row['full_name'];
$_SESSION['email'] = $row['email'];
$_SESSION['fname'] = $row['fname'];
$_SESSION['lname'] = $row['lname'];
$_SESSION['avatar'] = $row['avatar'];
$_SESSION['regdate'] = $row['regdate'];
$_SESSION['changedate'] = $row['changedate'];
}
$_SESSION['email'] = $email;
$_SESSION['password'] = $password;
header("Location: index.php");
}
}
?>
Ezek pedig a ki irások már a belépett profile lapon. (csak az email az amit ki ir a többi az mind az id 1-el ellátott user adatai amit nem értek.
<?php echo "Becenév - " . $_SESSION['full_name']; ?><p>
<?php echo "Email - " . $_SESSION['email']; ?><p>
<?php echo "Vezetéknév - " . $_SESSION['fname']; ?><p>
<?php echo "Keresznév - " . $_SESSION['lname']; ?><p>
<?php echo "Regisztrált - " . $_SESSION['regdate']; ?><p>
"SELECT * FROM users";
Na pontosan innen hiányzik a WHERE klauza, amiről beszéltem. Amúgy minek két lekérdezés, miért nem kérdezed le egyben az összes adatot?
Jajj.. próbáld meg értelmezni amit csinálsz, mert ennek így nem sok értelme van.
Itt egy kis segítség:
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!