[WML][PHP] Jak wykonać stronę z logowaniem do innej strony?

0x01 graphic

Chcesz udostępnić zawartość strony w zależności od tego czy ktoś poda właściwy login i hasło.

0x01 graphic

Jeżeli chcesz stworzyć strony dostępne tylko dla wybranych osób, możesz posłużyć się systemem haseł. Dopiero po wpisaniu właściwego loginu i hasła w przeglądarce WAP użytkownik zobaczy określone treści. Wykonajmy taką stronę.

W pliku index.wml umieść poniższy skrypt:

<?xml version="1.0"?>

<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"

"http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>

<head>

<meta forua="true" http-equiv="Cache-Control" content="max-age=0"/>

</head>

<card title="Logowanie">

<p>Login: <input name="login"/></p>

<p>Haslo: <input name="haslo" type="password"/></p>

<do type="accept" label="Wyslij">

<go href="logowanie.php" method="post">

<postfield name="login" value="$(login)"/>

<postfield name="haslo" value="$(haslo)"/>

</go>

</do>

<do type="reset" label="Czysc">

<refresh>

<setvar name="login" value=""/>

<setvar name="haslo" value=""/>

</refresh>

</do>

</card>

</wml>

To jest cała strona z formularzem. Nagłówek z polem meta powoduje, że strona nie jest zapisywana w pamięci podręcznej telefonu. Na ekranie widać dwa pola do wpisania loginu i hasła, a pole z hasłem będzie zawierało tekst ukryty (kropki ***), dlatego jest typu password.

Dwie pozostałe części odpowiadają za wysłanie formularza metodą POST do skryptu logowanie.php i usunięcie wartości z pól, czyli klasyczny reset.

Login i hasło przesłane będą do pliku logowanie.php, który wygląda następująco:

<?

header("Content-type: text/vnd.wap.wml");

echo '<?xml version="1.0"?>

<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"

"http://www.wapforum.org/DTD/wml_1.1.xml">';

$login = $_POST["login"];

$haslo = $_POST["haslo"];

?>

<wml>

<card title="Logowanie">

<?

if ($login=="Jan" && $haslo=="Kowalski") {

echo "<p>Logowanie udane!</p>";

} else {

echo "<p>Logowanie nieudane!</p>";

}

echo "<p><a href=\"index.wml\">Wroc...</a></p>";

?>

</card>

</wml>

Wystarczy odebrać w nim pola i sprawdzić czy login oraz hasło pasują do siebie. Jeżeli tak, możesz pokazać tekst przeznaczony dla zalogowanych użytkownków, jeżeli nie, pokaż informację o braku zalogowania na wskutek podania złego loginu lub hasła.

Aby się zalogować w powyższym przykładzie wpisz login: "Jan", a hasło: "Kowalski"