[WML][PHP] Jak wykonać stronę z logowaniem do innej strony?
Chcesz udostępnić zawartość strony w zależności od tego czy ktoś poda właściwy login i hasło.
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"