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

Wyświetlanie zdjęcia profilowego

0 głosów
705 wizyt
pytanie zadane 19 kwietnia 2018 w PHP przez Wawrick10p Początkujący (370 p.)
edycja 19 kwietnia 2018 przez Wawrick10p

Witam. Mam taki problem ostatnio zrobiłem skrypt, który dodaje użytkownikowi zdjęcie profilowe( na razie do folderu w xampp ) a link do niego w bazie danych.

Chciałbym potem wyświetlić użytkownikowi ten obrazek i napisałem kolejny skrypt. Obrazek jest wyświetlany ale chciałbym, że jak użytkownik nie ma obrazka żeby wyświetlało mu początkowy obrazek( profil.png ). Poprawiłem skrypt i napisałem, że jeśli użytkownik nie ma obrazka to wyświetla mu profil.png a jeśli ma jego. Niestety jak użytkownik nie ma obrazka to to na stronie jest pokazywany kontur obrazka ( czyli po prostu go nie ma ) zamiast profil.png.

kod:

<?php  
	require_once('connect.php');
	$polaczenie = new mysqli($host, $db_user, $db_password, $db_name);
					
	$user = $_SESSION['user'];
	$zapytanie = $polaczenie->query("SELECT avatar FROM uzytkownicy WHERE user='$user'");
	
	$rezultat = $zapytanie->fetch_assoc();
	$_SESSION['avatar'] = $rezultat['avatar'];
	$target = $_SESSION['avatar'];
					
	if(isset($_SESSION['avatar'])) {
		echo "<img src='../../docs/upload/$target' style='width:100%; height:100%; border: 3px dotted #ccc;'>"; 
	} else {
		echo "<img src='../../docs/upload/profil.png' style='width:100%; height:100%; border: 3px dotted #ccc;'>"; 
	}
?>

Według mnie i  mojego kolegi kod jest dobry ale nie wiem dlaczego nie działa.

Chodzi mi o to ze wyswietla te pierwsze echo z nie istniejaca zminna $target, a powinno te drugie echo wyswietlac. Taka dodatkowe wyjasninie.

1 odpowiedź

+1 głos
odpowiedź 19 kwietnia 2018 przez Tnifey Pasjonat (24,190 p.)

nie wiem po co zapisujesz avatar w sesji jak i tak za każdym razem go pobierasz od nowa z bazy danych.

problem tkwi w tym że $_SESSION['avatar'] zawsze istnieje i isset() zwraca true.

$avatar = $rezultat['avatar'] ?? 'profil.png';
echo "<img src=\"../../docs/upload/{$avatar}\">";

https://wiki.php.net/rfc/isset_ternary

https://lornajane.net/posts/2015/new-in-php-7-null-coalesce-operator

komentarz 19 kwietnia 2018 przez Wawrick10p Początkujący (370 p.)
No profile.png jest tam
komentarz 19 kwietnia 2018 przez Tnifey Pasjonat (24,190 p.)
a jeśli wejdziesz w źródło strony w przeglądarce to jak się pokazuje ścieżka? co tam jest napisane?
komentarz 19 kwietnia 2018 przez Wawrick10p Początkujący (370 p.)
No już se dałem rade wyłączyłem i włączyłem komputer. W tedy jak sprawdziłem to zadziałało. Może to przez to, że już ma 8 lat. xdddd
komentarz 19 kwietnia 2018 przez Tnifey Pasjonat (24,190 p.)
nie ma to jak pamięć podręczna xD
komentarz 19 kwietnia 2018 przez Wawrick10p Początkujący (370 p.)
dzięki za pomoc

Podobne pytania

0 głosów
2 odpowiedzi 1,726 wizyt
pytanie zadane 30 kwietnia 2019 w HTML i CSS przez niezalogowany
0 głosów
1 odpowiedź 469 wizyt
0 głosów
2 odpowiedzi 524 wizyt
pytanie zadane 5 grudnia 2017 w JavaScript przez BlvckFox Gaduła (4,240 p.)

93,742 zapytań

142,678 odpowiedzi

323,297 komentarzy

63,328 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...