jak wykonac strone z logowaniem do innej strony.doc

(29 KB) Pobierz
[WML][PHP] Jak wykonać stronę z logowaniem do innej strony

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

Problem

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

Rozwiązanie

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"

 

...
Zgłoś jeśli naruszono regulamin