Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem PHP - Výpis dát z databázy

Zdravím, mám stránku "profil", v ktorej chcem zobrazovať nejaké údaje z databáze (napr. ID, nickname atď...) a nedarí sa mi naprogramovať to tak, aby to ukazovalo ID konkrétneho užívateľa, teda toho užívateľa, ktorý je prihlásený.

kód:


<?php
	session_start();
	$session_username = $_SESSION['user'];

	if ($session_username == "") {
		header("refresh=0; url=login.php");
	}

	function zisti_id() {
		$mysql_server = "localhost";
		$mysql_user = "root";
		$mysql_password = "None";
		$mysql_db = "uzivatelia";
		$sqli = new mysqli($mysql_server, $mysql_user, $mysql_password, $mysql_db);
		if ($sqli->connect_errno) {
			printf("Connection failed: %s \n", $sqli->connect_error);
			exit();
		}
		$sqli->set_charset("utf8");

		$session_username = $_SESSION['user'];
		$sql = mysqli_query($sqli, "SELECT * FROM users LIMIT 1");
		$zisti = mysqli_fetch_array($sql, MYSQLI_BOTH);

		echo $zisti["id"] = $session_username;
	}
?>
Předmět Autor Datum
Protože z databáze vybíráš prvního uživatele, bez ohledu na to, kdo je přihlášený, viz: $sql = mysq…
Jan Fiala 05.07.2020 06:34
Jan Fiala
Tady je pěkný český manuál. http://www.junext.net/mysql/
Kráťa 05.07.2020 08:49
Kráťa
Vyskúšal som cez WHERE, a stále nič. <?php session_start(); $session_username = $_SESSION['user'];…
MrGoldon 05.07.2020 12:39
MrGoldon
problém je ten, že u toho nemyslíš ? id='$session_username'
kacikac 05.07.2020 12:57
kacikac
Tak bohužiaľ. PHP sa učím LEN z internetu. Nechodím na žiadnu programovaciu školu, kde by som sa to…
MrGoldon 05.07.2020 13:13
MrGoldon
Ty s databází porovnáváš username (nickname nebo jak jej máš prostě pojmenovaný), ne id.
kacikac 05.07.2020 13:16
kacikac
Veď aspoň tak mi to dáva logiku... "SELECT * FROM users WHERE id='$session_username'" => "Označ vše…
MrGoldon 05.07.2020 13:50
MrGoldon
Co? Předpokládám, že $session_username je například RayCodeUwU. Předpokládám, že tam máš tabulku, ve…
kacikac 05.07.2020 14:11
kacikac
Jop, tak už to frčí xD. Ďakujem za help. ... Ale aj tak mi dáva viac logiku moja verzia, a nechápem…
MrGoldon 05.07.2020 14:31
MrGoldon
Já psal: "problém je ten, že u toho nemyslíš". Třeba toho nejsi vůbec schopen. To je logické, ne? T…
kacikac 05.07.2020 14:38
kacikac
To právě logiku nedává vůbec. poslední
Wikan 05.07.2020 14:46
Wikan

Vyskúšal som cez WHERE, a stále nič.


<?php
	session_start();
	$session_username = $_SESSION['user'];

	if ($session_username == "") {
		header("refresh=0; url=login.php");
	}

	function zisti_id() {
		$mysql_server = "localhost";
		$mysql_user = "root";
		$mysql_password = "None";
		$mysql_db = "gasdbgahs";
		$sqli = new mysqli($mysql_server, $mysql_user, $mysql_password, $mysql_db);
		if ($sqli->connect_errno) {
			printf("Connection failed: %s \n", $sqli->connect_error);
			exit();
		}
		$sqli->set_charset("utf8");

		$session_username = $_SESSION['user'];
		$sql = mysqli_query($sqli, "SELECT * FROM users WHERE id='$session_username' LIMIT 1");
		$zisti = mysqli_fetch_array($sql, MYSQLI_BOTH);

		echo $zisti["id"];
	}
?>

Co?
Předpokládám, že $session_username je například RayCodeUwU.
Předpokládám, že tam máš tabulku, ve které je mimojiné id (např. č. 2), nickname (například RayCodeUwU)...
A ty chceš:
Vyber vše z tabulky users když nickname je ten samý co v $session_username.
To ale neuděláš pomocí id='$session_username', když v id je např. číslo 2.
To musíš udělat pomocí nickname='$session_username'.

Já psal: "problém je ten, že u toho nemyslíš".
Třeba toho nejsi vůbec schopen. To je logické, ne?

Tak to zjednoduším.
Máš tabulku users, ve které máš sloupce id a nickname.
V té tabulce je mnoho řádků, mezi nima řádek, kde id je číslo 2 a nickname je RayCodeUwU.
No a přihlášený user je RayCodeUwU a tedy ten nick je i v $session_username.
A ty chceš zjistit řádek, ve kterém je ve sloupci nickname uživatel RayCodeUwU, protože je v $session_username, a tedy použiješ nickname='$session_username'.
Tím vydoluješ řádek, který budeš mít v proměnné $zisti jako array, kde budeš mít hodnotu $zisti["id"] a $zisti["nickname"], no a ty chceš to id, takže vypíšeš $zisti["id"].
Eště to nechápeš?

Zpět do poradny Odpovědět na původní otázku Nahoru