Jump to content
Sign in to follow this  
adam2350

Wyświetlenie informacji o wysłaniu danych pod formularzem PHP

Recommended Posts

Siemka !

Postanowiłem napisać ,przepisać ,złożyć z innych skryptów skrypt logowania ale nie mam zielonego pojęcia jak mam zrobić żeby błędy wyświetlały się pod formularzem logowania a nie na stronie logowanie.php. Skrypt daje w temacie <SPOILER>. A teraz druga część tematu. Jak ja mam się nauczyć PHP przynajmniej tych podstaw. Macie może jakieś super poradniki czy coś w ten deseń do niby mam 2 książki ale jedna ma około 1000 stron a druga 300 i tą pierwszą powoli ale to powoli studiuje a tą drugą to już przestudiowałem.

Spoiler

<?php
	session_start();
	require('polacznie.php');
	$login = $_POST['login'];
	$haslo = $_POST['haslo'];
	$sql = "SELECT `haslo` FROM `uzytkownicy` WHERE login ='{$login}'";
	$query = mysqli_query($polacznie, $sql);
	if(mysqli_num_rows($query) > 0){
		$row = mysqli_fetch_array($query);
		if(md5($haslo) === $row['haslo']){
			$_SESSION['logowanie'] = $login;
			header("Location: admin");
			} else {
			$jeden = "Login lub hasło niepoprawne. Sprawdź Dane ! ";
			header("Location: index.php");
			}
		} else {
		echo "Użytkownik nie istenieje";
		}
		mysqli_close($polacznie);
?>

 

 

Share this post


Link to post

Na kanale Pasja Informatyki jest poradnik jak zrobić logowanie i rejestrację (kurs PHP odcinek 2 i 3). Jest to tam bardzo ładnie wytłumaczone. Co prawda nie zostały przedstawione najlepsze metody, ale zrozumiesz co z czym się je.

Share this post


Link to post
Teraz, Ardex napisał:

Na kanale Pasja Informatyki jest poradnik jak zrobić logowanie i rejestrację (kurs PHP odcinek 2 i 3). Jest to tam bardzo ładnie wytłumaczone. Co prawda nie zostały przedstawione najlepsze metody, ale zrozumiesz co z czym się je.

To nie jest kanał tylko 40 minut klepania bez sensu i ten gościu dziwnie to tłumaczy i po za tym wstawia odcinki raz na ruski rok - pieniędzy dużo nie ma i pewnie nie wstawia

  • Like 1

Share this post


Link to post
8 minut temu, adam2350 napisał:

To nie jest kanał tylko 40 minut klepania bez sensu i ten gościu dziwnie to tłumaczy i po za tym wstawia odcinki raz na ruski rok - pieniędzy dużo nie ma i pewnie nie wstawia

 

40 minut? Te dwa odcinki razem mają 3h i 40 minut... Dziwne, bo jeszcze nie znam osoby, która po obejrzeniu uwaznie całego odcinka nie wiedziała o co chodzi. To, że filmy na tym kanale pojawiają się rzadko nie jest problemem tego wątku. Pytasz o logowanie, a ta problematyka została poruszona przez kanał Pasja Informatyki i, moim zdaniem, omówione to zostało w sposób wystarczający.

 

@adam2350

Wracając do tego, że wstawiają odcinki raz na jakiś czas... a Ty jak często wrzucałbyś odcinki, gdybyś pracował i musiał zajmować się jeszcze rodziną? Ile swojego wolnego czasu byłbyś w stanie poświęcić dla ludzi, nie otrzymując w zamian w sumie nic? Dopiero od niedawna jest patronite gdzie ludzie mogą im wspomóc finansowo.

 

Na jego filmy mogą narzekać średniozaawansowani programiści, których mogą razić w oczy pewne rozwiązania przedstawione przez owy kanał, ale jak Ty jesteś dopiero początkującym, nie wiesz co i jak to nie powinieneś aż tak narzekać.

Edited by Ardex
  • Like 1

Share this post


Link to post

Moze skoro każdy soe czegoś uczy i chce otrzymać efekt, to wykup lekcje na eduweb?

Share this post


Link to post
1 minutę temu, Dominik. napisał:

Moze skoro każdy soe czegoś uczy i chce otrzymać efekt, to wykup lekcje na eduweb?

ale ja wole darmowe ...

Share this post


Link to post

Pan Zelent prowadzi kurs z zamiłowania, a nie z poczucia obowiązku i chęci zarobku... Tłumaczy wszystko raczej jak przysłowiowej "krowie na rowie", więc powinieneś z jego filmów mimo wszystko dużo wyciągnąć. Natomiast jeżeli nie znasz samej składni, to zalecam udanie się do dokumentacji PHP: https://secure.php.net/manual/pl/

 

Wracając do tematu błędów na stronie wykonania skryptu. Jeżeli nie wiesz co to AJAX, to logowanie musisz przenieść na stronę formularza by osiągnąć chciany rezultat.

  • Like 1

Share this post


Link to post
1 minutę temu, Salva napisał:

Pan Zelent prowadzi kurs z zamiłowania, a nie z poczucia obowiązku i chęci zarobku... Tłumaczy wszystko raczej jak przysłowiowej "krowie na rowie", więc powinieneś z jego filmów mimo wszystko dużo wyciągnąć. Natomiast jeżeli nie znasz samej składni, to zalecam udanie się do dokumentacji PHP: https://secure.php.net/manual/pl/

 

Wracając do tematu błędów na stronie wykonania skryptu. Jeżeli nie wiesz co to AJAX, to logowanie musisz przenieść na stronę formularza by osiągnąć chciany rezultat.

ok ☺️

Share this post


Link to post
<?php
	session_start();
	require('polacznie.php');

	$login = $_POST['login'];
	$haslo = md5($_POST['haslo']);
	$info = '';

	$sql = "SELECT `haslo` FROM `uzytkownicy` WHERE login ='{$login}' AND password={$haslo}";
	$query = mysqli_query($polacznie, $sql);

	if(!empty($login) && !empty($haslo) {
    	if($query->num_rows == 1) {
        	$_SESSION['logowanie'] = $login;
			$info = 'Poprawnie zalogowany, w ciągu 5 sekund zostaniesz przeniesiony do panelu administratora!';
			echo '<meta http-equiv="refresh" content="5; URL=admin.php">';
          } else {
            $info = "Login lub hasło niepoprawne. Sprawdź Dane ! ";
            echo '<meta http-equiv="refresh" content="5; URL=index.php">';
          }
		} else {
        	$info = 'Podany użytkownik nie istnieje';
        }
		mysqli_close($polacznie);
?>

I teraz pod formą dodajesz zmienną $info, wtedy wszystkie błędy będą tam wyświetlane ;).

  • Like 1

Share this post


Link to post
Spoiler
8 godzin temu, Marosking. napisał:


<?php
	session_start();
	require('polacznie.php');
	$login = $_POST['login'];
	$haslo = md5($_POST['haslo']);
	$info = '';
	$sql = "SELECT `haslo` FROM `uzytkownicy` WHERE login ='{$login}' AND password={$haslo}";
	$query = mysqli_query($polacznie, $sql);
	if(!empty($login) && !empty($haslo) {
    	if($query->num_rows == 1) {
        	$_SESSION['logowanie'] = $login;
			$info = 'Poprawnie zalogowany, w ciągu 5 sekund zostaniesz przeniesiony do panelu administratora!';
			echo '<meta http-equiv="refresh" content="5; URL=admin.php">';
          } else {
            $info = "Login lub hasło niepoprawne. Sprawdź Dane ! ";
            echo '<meta http-equiv="refresh" content="5; URL=index.php">';
          }
		} else {
        	$info = 'Podany użytkownik nie istnieje';
        }
		mysqli_close($polacznie);
?>

I teraz pod formą dodajesz zmienną $info, wtedy wszystkie błędy będą tam wyświetlane ;).

 

@Marosking. A czy mógłbym prosić o wytłumaczenie co się dzieje po linijce 

if(!empty($login) && !empty($haslo) { ?

Share this post


Link to post
1 minutę temu, adam2350 napisał:
  Pokaż ukrytą zawartość

 

@Marosking. A czy mógłbym prosić o wytłumaczenie co się dzieje po linijce 

if(!empty($login) && !empty($haslo) { ?

Jeżeli pola przysłane metodą POST są puste to wtedy wyświetla informację że są puste, jeżeli są wypełnione skrypt działa dalej. To można wyczytać z kodu ;).

  • Like 1

Share this post


Link to post
Teraz, Marosking. napisał:

Jeżeli pola przysłane metodą POST są puste to wtedy wyświetla informację że są puste, jeżeli są wypełnione skrypt działa dalej. To można wyczytać z kodu ;).

  • Error: There is 1 more opening parenthesis ( found
    This count is unaware if parenthesis are inside of a string
  • PHP Syntax Check: Parse error: syntax error, unexpected { in your code on line 9
    • if(!empty($login) && !empty($haslo) {
Edited by adam2350

Share this post


Link to post
1 minutę temu, adam2350 napisał:
  • Error: There is 1 more opening parenthesis ( found
    This count is unaware if parenthesis are inside of a string
  • PHP Syntax Check: Parse error: syntax error, unexpected { in your code on line 9
    • if(!empty($login) && !empty($haslo) {

Brakuje jednego nawiasu :).

if(!empty($login) && !empty($haslo)) {

 

  • Like 1

Share this post


Link to post

@Marosking. Kiedyś bym do tego doszedł a ten pierwszy co oznacza 

@Marosking. Nie działają przekierowania html a PHP header tak ale przy tym nie wyświetla się komunikat 

Share this post


Link to post
3 minuty temu, adam2350 napisał:

@Marosking. Kiedyś bym do tego doszedł a ten pierwszy co oznacza 

@Marosking. Nie działają przekierowania html a PHP header tak ale przy tym nie wyświetla się komunikat 

Pod formularzem musisz dodać:

<?php echo $info; ?>

A co do drugiego błędu to chyba mysql nie zwraca żadnych wyników. Zależy jeszcze, o który dokładnie błąd ci chodzi.

Share this post


Link to post
Teraz, Marosking. napisał:

Pod formularzem musisz dodać:


<?php echo $info; ?>

A co do drugiego błędu to chyba mysql nie zwraca żadnych wyników. Zależy jeszcze, o który dokładnie błąd ci chodzi.

Mam tak dodane na tyle głupi to nie jestem ☺️ 

			<?php
echo $info;
?>

 

Share this post


Link to post
Teraz, adam2350 napisał:

Mam tak dodane na tyle głupi to nie jestem ☺️ 


			<?php
echo $info;
?>

 

Pokaż cały kod jaki masz ;). Albo napisz co ma robić, napiszę ci przykład, a ty go przeanalizujesz ;).

Share this post


Link to post

Jak wrzucisz przekierowanie w PHP, to dalsza część kodu się nie wykona. To co chcesz wyświetlić musi się wyświetlić przed nim.

Share this post


Link to post
Teraz, Marosking. napisał:

Pokaż cały kod jaki masz ;). Albo napisz co ma robić, napiszę ci przykład, a ty go przeanalizujesz ;).

to jest cały kod tylko że mam go w oddzielnym pliku a musi być w tym samych tak coś przypuszczam...

Share this post


Link to post
Teraz, adam2350 napisał:

to jest cały kod tylko że mam go w oddzielnym pliku a musi być w tym samych tak coś przypuszczam...

Nie, tylko musisz zrobić coś takiego w formie

<form method="post" action="plik.php">
  //tutaj inputy
</form>

 

Share this post


Link to post
1 minutę temu, Salva napisał:

Jak wrzucisz przekierowanie w PHP, to dalsza część kodu się nie wykona. To co chcesz wyświetlić musi się wyświetlić przed nim.

no przed przekierowaniem 

			$info = 'Poprawnie zalogowany, w ciągu 5 sekund zostaniesz przeniesiony do panelu administratora!';
			header("Location: index.php");

 

@Marosking. Tak mam zaraz wkleję cały kod z tego i z tego 

 

Index.php

Spoiler

<!DOCTYPE HTML>
<html>
	<head>
		<title> Baza adresowa </title>
		<link href="css/style.css" type="text/css" rel="stylesheet" />
	</head>
	<body>
		<h1> Baza adresowa </h1>
		<p>Dostęp tylko dla zalogowanych</p><br />
			<form method="POST" action="logowanie.php" id="form">
				<div>
				<label>Login:</label>
				<input type="text" name="login"/><br />
				</div>
				<div>
				<label>Hasło:</label>
				<input type="password" name="haslo"/>
				</div>
				<div>
				<input type="submit" />
				</div>
			</form>
			<?php
echo $info;
?>
	</body>
</html>

 

 

logowanie.php

Spoiler

<?php
	session_start();
	require('polacznie.php');
	$login = $_POST['login'];
	$haslo = md5($_POST['haslo']);
	$info = '';
	$sql = "SELECT `haslo` FROM `uzytkownicy` WHERE login ='{$login}' AND haslo={$haslo}";
	$query = mysqli_query($polacznie, $sql);
	if(!empty($login) && !empty($haslo)){
    	if($query->num_rows == 1) {
        	$_SESSION['logowanie'] = $login;
			$info = 'Poprawnie zalogowany, w ciągu 5 sekund zostaniesz przeniesiony do panelu administratora!';
			echo '<meta http-equiv="refresh" content="5; URL=index.php">';
          } else {
            $info = "Login lub hasło niepoprawne. Sprawdź Dane ! ";
            echo '<meta http-equiv="refresh" content="5; URL=index.php">';
          }
		} else {
        	$info = 'Podany użytkownik nie istnieje';
        }
		mysqli_close($polacznie);
?>

 

 

Share this post


Link to post

Nie wyświetlasz tego tekstu, a przypisujesz do zmiennej...

<?php
$info = 'Poprawnie zalogowany, w ciągu 5 sekund zostaniesz przeniesiony do panelu administratora!';
echo $info;
sleep(5);
header("Location: index.php");

 

  • Like 1

Share this post


Link to post
2 minuty temu, Salva napisał:

Nie wyświetlasz tego tekstu, a przypisujesz do zmiennej...


<?php
$info = 'Poprawnie zalogowany, w ciągu 5 sekund zostaniesz przeniesiony do panelu administratora!';
echo $info;
sleep(5);
header("Location: index.php");

 

Racja! Zapomniałem że on to ma rozbite na dwa pliki, wiec dlatego zmienna nie wyświetla informacji. Masz rozwiązanie problemu 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Create a New Account. It’s free and easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
×
×
  • Create New...