• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pobieranie danych dla zalogowanego użytkownika -PHP

Object Storage Arubacloud
+1 głos
851 wizyt
pytanie zadane 13 stycznia 2021 w PHP przez dequk Użytkownik (810 p.)
edycja 13 stycznia 2021 przez dequk

Witam,

tworzę swój panel w ramach nauki/przypomnienia sobie po paru latach programowania webowego i natknąłem się na mały problem.

Chciałbym dla zalogowanego użytkownika pobierać i wyświetlać w odpowiednich oknach/stronach dane dotyczące jego konta, które podawał podczas rejestracji takie jak login, email czy w osobnej stronie jego zamówienia.

Zacząłem od pobrania jego danych takich jak mail czy login. Udało się to, ale połowicznie.

Opisywany problem przedstawiam poniżej:


Jak widać na screenie login jest wyświetlany, jednak email już nie. (możliwe, że login podawany jest jako zmienna sesyjna (chyba tak to się nazywa), a email nie.
Jak mogę ten problem naprawić? 

Kod źródłowy:
 

<?php

if (isset($_SESSION['zalogowany'])) 
{

	require_once 'db_data.php';
	$zapytanie = "SELECT dk.login, dk.email from dane_klient AS dk"

	echo '<h5 class="card-title">Informacje o koncie</h5>';
	echo '<p class="card-text">Login: ' .$_SESSION['login']; echo '</p>';
	echo '<p class="card-text">Email: ' .$_SESSION['email']; echo '</p>';
}

?>
			<div class="card border-dark mb-3 my-4" style="max-width: 18rem;">
				<div class="card-header">Moje konto</div>
					<div class="card-body text-dark">
						<?php
							require("PokazDaneMini.php")
						?>
					</div>
				</div>

Kod źródłowy logowania:

https://pastebin.com/bPv7Z2rY

 

Bardzo dziękuje za okazaną pomoc.

1
komentarz 13 stycznia 2021 przez wizarddos Nałogowiec (25,930 p.)
Tak. Musisz ją ustawić z tego co pobierałeś z bazy(bo chyba taki jest zamysł). A pobieranie w tym samym momencie bazy trochę moim zdaniem nie ma sensu. Czyli po prostu pobierasz zapytaniem to wszystko co potrzebne (login, email czy co tam jeszcze jest potrzebne) wsadzasz to do zmiennych sesyjnych i tyle.
komentarz 13 stycznia 2021 przez wizarddos Nałogowiec (25,930 p.)

@Konrad Siwczyk,  poza tym powtórzę  popraw zabezpieczenia. Kod jest na moje oko jest podatny na SQL injection. I zastosuj jakiś bezpieczniejszy niż md5 hash

komentarz 13 stycznia 2021 przez dequk Użytkownik (810 p.)
Zastosuje się do tego, jednak strony nigdzie nie mam zamiaru wypuszczać obecnie na świat, mam za małą wiedze, aby jeszcze się pchać tak :)
Obecnie chciałem po prostu potrenować działanie tego skryptu, jednak nie wiem co dokładnie robię "nie tak".
Kod źródłowy:
https://pastebin.com/FYXyh8vY
Tej zmiennej sesyjnej (email) nie stosuje podczas logowania, wiec do końca nie wiem jak mam ją zaimplementować. W zapytaniu mam uwzględnione pobieranie wszystkich wartości z tabeli w tym i adresu email, jednak chyba to nie o to chodzi.
2
komentarz 13 stycznia 2021 przez wizarddos Nałogowiec (25,930 p.)

ok. Co do stosowania to spróbuj jak z ustawianiem zmiennej sesyjnej login.

Czyli tak:

$_SESSION['email'] = $rekord['email'];//czy jak tam się to nazywa

 

1
komentarz 13 stycznia 2021 przez dequk Użytkownik (810 p.)
Działa, dziękuje bardzo. Co do rady dotyczących zabezpieczeń oraz hash'a wezmę bardzo pod uwagę w dalszym udoskonalaniu.

1 odpowiedź

0 głosów
odpowiedź 15 stycznia 2021 przez VBService Ekspert (253,280 p.)
edycja 15 stycznia 2021 przez VBService

@wizadkol123, napisał Tobie

dużo bardziej bezpieczne tworzenie zapytań (sql) do bazy danych np. otrzymasz za pomocą:

mysqli_stmt_bind_param   (SQL Injection)

 

PHP Sanitize and Validate Input Fields via Filters

PHP FILTER_SANITIZE_STRING Filter

Secure hash and salt for PHP passwords

 

Podobne pytania

0 głosów
1 odpowiedź 613 wizyt
pytanie zadane 12 listopada 2018 w PHP przez Kenzy Obywatel (1,160 p.)
0 głosów
2 odpowiedzi 364 wizyt
pytanie zadane 5 marca 2020 w PHP przez olexus92 Nowicjusz (160 p.)
0 głosów
3 odpowiedzi 3,436 wizyt
pytanie zadane 4 sierpnia 2016 w PHP przez Miszo Bywalec (2,100 p.)

92,566 zapytań

141,420 odpowiedzi

319,614 komentarzy

61,952 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...