Kezdőoldal » Számítástechnika » Weblapkészítés » Hogyan tudom ki íratni egy...

Hogyan tudom ki íratni egy ellenőrzött belépés után a nevemet?

Figyelt kérdés

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?


2021. dec. 1. 14:14
1 2
 1/13 anonim ***** válasza:

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....

2021. dec. 1. 14:46
Hasznos számodra ez a válasz?
 2/13 A kérdező kommentje:
% perc és kiteszem
2021. dec. 1. 14:51
 3/13 anonim ***** válasza:

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.

2021. dec. 1. 14:52
Hasznos számodra ez a válasz?
 4/13 A kérdező kommentje:

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

}

}

?>

2021. dec. 1. 15:00
 5/13 A kérdező kommentje:
van numerikus id de nem arra építettem hanem az email-re mert ugyan ez a bajom ha id-vel csinálom is ezért próbálom email-el. de ugyan az a gondom hiába
2021. dec. 1. 15:02
 6/13 A kérdező kommentje:

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>

2021. dec. 1. 15:08
 7/13 anonim ***** válasza:

"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?

2021. dec. 1. 19:39
Hasznos számodra ez a válasz?
 8/13 A kérdező kommentje:
de ott van a where rögtön a users után. És hogy érted hogy egyben? Akkor is ez a gond ha egybe kérem le. Valamiért mindig az id 1-es row-ot írja ki és most is ezzel kínlódok de áhh
2021. dec. 1. 20:10
 9/13 anonim ***** válasza:

Jajj.. próbáld meg értelmezni amit csinálsz, mert ennek így nem sok értelme van.


Itt egy kis segítség:

[link]

2021. dec. 1. 20:43
Hasznos számodra ez a válasz?
 10/13 A kérdező kommentje:
Köszi szépen a segítséget. Amit az utolsó részhez írtál amit nem tudod mi lenne az a 2 session az muszáj oda mert így be sem tudsz lépni. Ha kiszedem akkor nem lehet belépni. PDO-t használtam eddig azt nagyából értem is de a mysqli vel van bajom. ez csak egy kis gyakorlás de nagyon zavaró ez a hiba. Amúgy végig futottam az egészet és ahol nincs where paraméter, ha oda teszek akor oké az úgy müxik. de oda nekem egy $_session['email']; kellene. be is írtam de sajnos úgy meg definiálatlan változót kapok.
2021. dec. 1. 20:54
1 2

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!