• 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
526 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 OdsetekGlupoty Pasjonat (15,360 p.)
Nie bardzo rozumiem. Co chcesz zczytywać na stronie dla zalogowanych?

Pokaż kod.
komentarz 4 grudnia 2018 przez genesis12 Nowicjusz (180 p.)
Np. data urodzin , miejsce zamieszkania  itp
komentarz 4 grudnia 2018 przez OdsetekGlupoty Pasjonat (15,360 p.)
Pokaż kod jaki masz.

Wyskakują jakieś błędy?
komentarz 4 grudnia 2018 przez genesis12 Nowicjusz (180 p.)
<?php

	session_start();

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

?>



<!DOCTYPE html>
<html lang="pl">

<head>
</head>

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

 

Kod tak naprawdę taki sam jak masz w kursie php 2 ,ja tylko chciałem wyświetlić coś innego  . żadengo błedu  po prostu nic nie dostaje 

komentarz 4 grudnia 2018 przez OdsetekGlupoty Pasjonat (15,360 p.)
Co jest w zmiennej $_SESSION['adres']?
komentarz 4 grudnia 2018 przez genesis12 Nowicjusz (180 p.)
w mysql jest zwyczajny tekst
komentarz 4 grudnia 2018 przez OdsetekGlupoty Pasjonat (15,360 p.)
Pokaż mi swoje zapytanie do bazy, w którym chcesz wyciągnąć te dane.
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 264 wizyt
pytanie zadane 8 sierpnia 2018 w PHP przez JeyJey Użytkownik (710 p.)
0 głosów
2 odpowiedzi 210 wizyt
pytanie zadane 15 czerwca 2018 w SQL, bazy danych przez JeyJey Użytkownik (710 p.)
0 głosów
1 odpowiedź 1,190 wizyt
pytanie zadane 2 maja 2020 w PHP przez tgv Użytkownik (890 p.)

93,008 zapytań

141,975 odpowiedzi

321,256 komentarzy

62,350 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

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...