PHP - wywołanie elementu w HTML

0

Witam,
mam pewien problem. Zrobiłem prostą stronę z formularzem do logowania, połączoną z bazą danych. Po wpisaniu danych w formularzu, przechodzi mi do skryptu. Jeżeli dane się zgadzają przechodzi dalej. Jeżeli nie, zostaje na stronie. Czy istnieje możliwość, gdy dane logowania będą niepoprawne, aby komunikat wyświetlił mi się jako np. element p lub div? Dla zobrazowania zostawiam screen'a. Dodatkowo zostawiam skrypt PHP.
Screen

<?php
if(isset($_POST['uid']))
{
	$connect = mysqli_connect("localhost","root","") or die ("Error");
	mysqli_select_db($connect,"users");
	$username = $_POST['uid'];
	$password = $_POST['pwd'];
	$sql = "SELECT * FROM users WHERE uid = '$username' and pwd = '$password'";
	$result = mysqli_query($connect,$sql);
	
	if(mysqli_num_rows($result) == 1)
	{
		$result = mysqli_fetch_array($result);
		header("location:main.html");
	}
	else
	{
		header("location:index.html");
	}
}
?>
1

Tak technicznie to nie zostajesz na stronie, tylko wciśnięcie przycisku logowania powoduje przetworzenie skryptu PHP, a następnie wyświetlenie czegoś - albo strony po logowaniu, albo ponownie strony logowania.

W związku z tym wystarczy, że do zwracanej strony logowania dodasz stosowną informację.

Odpowiedź jest mało konkretna, ale pytanie też jest takie :p

2

Tak jest to możliwe, sposobów są dziesiątki. W Twoim przypadku wrzuciłbym komunikat do sesji i przy ponownym wczytaniu takiej podstrony sprawdzilbym czy zmienna w sesji istnieje, jak tak to wyświetlam komunikat. Miej na uwadze, że jest masa lepszych rozwiązan, ale moim zdaniem przy takim kodzie jak nam pokazałeś ww. metoda powinna Ci wystarczyć

2

Ja bym zrobił tak, że jeżeli dane do logowania nie są poprawne, wiadomość o błędzie można przechować w $_SESSION['loginErrofInfo'] a następnie na stronie main wyświetlał tą informację w zależności czy $_SESSION['loginErrorInfo'] istnieje :)

Odpowiedź też mało konkretna :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1