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

Problem z php

VPS Starter Arubacloud
0 głosów
432 wizyt
pytanie zadane 4 grudnia 2018 w PHP przez genesis12 Nowicjusz (180 p.)
Mam połączoną stroną z bazą , lecz teraz chciałem utworzyć w phpmyadmin nową tabelę i zczytywać je na stronie tylko dla zalogowanych. Szukałem też w internecie ale efekt był taki ,że nic się nie wyświetlało.

Np. TABELA2 > ADRES , DATA , IMIE , NAZWISKO

Uzywałem np tego:

<?php echo "".$_SESSION['adres'];?>  

I pytanie muszę coś w innych plikach zmienić  (pliki takie same jak w https://www.youtube.com/watch?v=Pp578w7C9hE) ? Czy wskazać tą tabelę?
komentarz 4 grudnia 2018 przez genesis12 Nowicjusz (180 p.)
<?php

	session_start();

	if ((!isset($_POST['login'])) || (!isset($_POST['haslo'])))
	{
		header('Location: index.php');
		exit();
	}

	require_once "connect.php";

	$polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);

	if ($polaczenie->connect_errno!=0)
	{
		echo "Error: ".$polaczenie->connect_errno;
	}
	else
	{
		$login = $_POST['login'];
		$haslo = $_POST['haslo'];

		$login = htmlentities($login, ENT_QUOTES, "UTF-8");
		$haslo = htmlentities($haslo, ENT_QUOTES, "UTF-8");

		if ($rezultat = @$polaczenie->query(
		sprintf("SELECT * FROM uzytkownicy WHERE user='%s' AND pass='%s'",
		mysqli_real_escape_string($polaczenie,$login),
		mysqli_real_escape_string($polaczenie,$haslo))))
		{
			$ilu_userow = $rezultat->num_rows;
			if($ilu_userow>0)
			{
				$_SESSION['zalogowany'] = true;

				$wiersz = $rezultat->fetch_assoc();
				$_SESSION['id'] = $wiersz['id'];
				$_SESSION['user'] = $wiersz['user'];
				$_SESSION['drewno'] = $wiersz['drewno'];
				$_SESSION['kamien'] = $wiersz['kamien'];
				$_SESSION['zboze'] = $wiersz['zboze'];
				$_SESSION['email'] = $wiersz['email'];
				$_SESSION['dnipremium'] = $wiersz['dnipremium'];

				unset($_SESSION['blad']);
				$rezultat->free_result();
				header('Location: panel.php');

			} else {

				$_SESSION['blad'] = '				<script>
						alert("Nieprawidłowy login lub hasło!");
					</script>';
				header('Location: index.php');

			}

		}

		$polaczenie->close();
	}

?>

 

komentarz 4 grudnia 2018 przez OdsetekGlupoty Pasjonat (15,360 p.)
A gdzie drugie zapytanie (aby wyciągnąć dane z 2 tabeli)?
komentarz 4 grudnia 2018 przez genesis12 Nowicjusz (180 p.)
Nie ma , ponieważ to wersja sprzed zmianami , lecz chodzi o to ,że nawet jeśli zmieniłem w sql nazwy w pliku też to dalej ich nie wyśiwetla. Na pewno,źle coś robię , mogłbyś pokazać jak powinno wyglądać drugie zapytanie ?  i gdzie je umieścić ?
komentarz 4 grudnia 2018 przez OdsetekGlupoty Pasjonat (15,360 p.)
Jak nazywa się Twoja 2 tabela i jakie ma pola?

Rozumiem, że chcesz te dane z 2 tabeli wyświetlić na stronie dla zalogowanych?
komentarz 4 grudnia 2018 przez genesis12 Nowicjusz (180 p.)
Tak dokładnie chce wyświetlić kilka informacji .  

NAZWA : INFO

imie , nazwisko , data urodzenia , data , płeć.

 

Dzięki wielkie za pomoc

1 odpowiedź

0 głosów
odpowiedź 4 grudnia 2018 przez OdsetekGlupoty Pasjonat (15,360 p.)

To będzie tak:

Najpierw wykonujesz takie zapytanie (wybierasz wszystkie dane z tabeli "info"):

SELECT * FROM info

 

Później używasz metody fetch_assoc jeśli chcesz otrzymać tabelę asocjacyjną (z indeksami słownymi):

$wiersz = $rezultat->fetch_assoc();

 

Teraz wybrane dane możesz zapisać w zmiennych. W związku z tym, że masz osobny plik z kodem, do którego użytkownik jest przekierowywany automatycznie po submicie formularza, to musisz użyć sesji.

$_SESSION['imie'] = $wiersz['imie'];
$_SESSION['nazwisko'] = $wiersz['nazwisko'];
$_SESSION['data'] = $wiersz['data'];
//itd... 

 

Teraz możesz już wyświetlić każdą z tych zmiennych.

 

+ Z tego co widzę, to korzystasz z kursów MZ. Niestety, zawierają one masę złych praktyk. Więc jeśli chcesz kiedyś znaleźć pracę lub tworzyć bezpieczny i czysty kod, to zrezygnuj z oglądanie tych kursów, a zainwestuj w jakiś płatny kurs lub zakup książkę.

https://www.webkrytyk.pl/2015/12/31/wideokursy-2-kurs-php-miroslawa-zelenta/

komentarz 5 grudnia 2018 przez genesis12 Nowicjusz (180 p.)

Użyłem if , i dostaję błąd Parse error: syntax error, unexpected ';' 

 

<?php

	session_start();

	if ((!isset($_POST['login'])) || (!isset($_POST['haslo'])))
	{
		header('Location: index.php');
		exit();
	}

	require_once "connect.php";

	$polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);

	if ($polaczenie->connect_errno!=0)
	{
		echo "Error: ".$polaczenie->connect_errno;
	}
	else
	{
		$login = $_POST['login'];
		$haslo = $_POST['haslo'];

		$login = htmlentities($login, ENT_QUOTES, "UTF-8");
		$haslo = htmlentities($haslo, ENT_QUOTES, "UTF-8");

		if ($rezultat = @$polaczenie->query(
		sprintf("SELECT * FROM uzytkownicy WHERE user='%s' AND pass='%s'",
		mysqli_real_escape_string($polaczenie,$login),
		mysqli_real_escape_string($polaczenie,$haslo))))
		{
			$ilu_userow = $rezultat->num_rows;
			if($ilu_userow>0)
			{
				$_SESSION['zalogowany'] = true;

				$wiersz = $rezultat->fetch_assoc();
				$_SESSION['id'] = $wiersz['id'];
				$_SESSION['user'] = $wiersz['user'];
				$_SESSION['drewno'] = $wiersz['drewno'];
				$_SESSION['kamien'] = $wiersz['kamien'];
				$_SESSION['zboze'] = $wiersz['zboze'];
				$_SESSION['email'] = $wiersz['email'];
				$_SESSION['dnipremium'] = $wiersz['dnipremium'];

				unset($_SESSION['blad']);
				$rezultat->free_result();
				header('Location: panel.php');

			} 
			
			
			
			if ($rezultat = @$polaczenie->query(
			"SELECT * FROM customers" )
		{
			$wiersz = $rezultat->fetch_assoc();
			if
			{
				$_SESSION['zalogowany'] = true;

$_SESSION['imie'] = $wiersz['Nazwa'];
$_SESSION['nazwisko'] = $wiersz['NIP/PESEL'];
$_SESSION['data'] = $wiersz['Adres'];

				unset($_SESSION['blad']);
				$rezultat->free_result();
				header('Location: panel.php');

			} 
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			else {

				$_SESSION['blad'] = '				<script>
						alert("Nieprawidłowy login lub hasło!");
					</script>';
				header('Location: index.php');

			}

		}

		$polaczenie->close();
	}

?>

 

komentarz 5 grudnia 2018 przez OdsetekGlupoty Pasjonat (15,360 p.)
if ($rezultat = @$polaczenie->query("SELECT * FROM customers" )

Brakuje Ci nawiasu na końcu, który by zamykał instrukcję if.

komentarz 5 grudnia 2018 przez genesis12 Nowicjusz (180 p.)

Ok błędu nie ma ,ale  pytanie  , na stronie której chce to wyswietlić muszę coś u góry dodać ?

bo samo echo nie wyświetla 

to mam na stronie :

<?php

	session_start();

	if (!isset($_SESSION['zalogowany']))
	{
		header('Location: index.php');
		exit();
	}

?>
komentarz 5 grudnia 2018 przez OdsetekGlupoty Pasjonat (15,360 p.)

Użyj echo na index.php (stronie dla zalogowanych) i upewnij się, że na początku kodu w index.php jest instrukcja session_start();

//index.php

session_start();
echo $_SESSION['Adres'];

 

komentarz 5 grudnia 2018 przez genesis12 Nowicjusz (180 p.)
Użyłem kodu , na początku jest instrukcja i dalej lipa :/

Podobne pytania

0 głosów
0 odpowiedzi 233 wizyt
pytanie zadane 8 sierpnia 2018 w PHP przez JeyJey Użytkownik (710 p.)
0 głosów
2 odpowiedzi 171 wizyt
pytanie zadane 15 czerwca 2018 w SQL, bazy danych przez JeyJey Użytkownik (710 p.)
0 głosów
1 odpowiedź 945 wizyt
pytanie zadane 2 maja 2020 w PHP przez tgv Użytkownik (890 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...