Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: logowanie, autoryzacja, wszystko działa, mały problem
Forum PHP.pl > Forum > PHP
grudziu
cześć blinksmiley.gif

mam następujący skrypt
  1. <?php
  2.  echo("<b><hr><tt>poczatek skryptu formularz.php</b></tt><br>");
  3. if (!isset($_SESSION['logg'])) { 
  4.  $pomoc1=$_SERVER["PHP_SELF"];
  5. echo("
  6.  <form method="post" action="$pomoc1" >
  7.  Login: <input type="text" name="log" />
  8. <br>
  9.  Pass.: <input type="password" name="has" />
  10.  <input type="submit" value="loguj" />
  11. </form>
  12.  ");
  13. $postl1=$_POST['log'];
  14. $postp1=$_POST['has'];
  15. }
  16. if (ISSET($postl1) && ISSET($postp1)) {
  17.  
  18.  $pl=md5($postl1); //kodowanie loginu
  19.  $pp=md5($postp1); //kodowanie hasla
  20. }
  21.  
  22.  if (isset($pl) && isset($pp) )
  23.  {
  24.  $ist=true;
  25. echo("<br>Istnieje login i hasło, a zmienna ist ma wartość = $ist <br>");
  26.  }
  27.  else {$ist=FALSE; echo("Wpisz uważnie swój login i hasło, aby uzyskać dalszy dostęp<br>");};
  28.  
  29. if ( ($ist==TRUE) && ($pl==$lg) && ($pp==$pw)) //zmienne , ktor sa zadeklarowane w innym pliku, ten includujemy
  30.  {
  31. echo("<br><b> Login/Hasło ok </b>");
  32. $_SESSION['logg']=1;
  33. return($_SESSION['logg']);
  34.  }
  35. if (( $ist==TRUE) && (($pl !== $lg) || ($pp != $pw)))
  36. {
  37. echo("<table border=0px bgcolor=pink><tr><b><font color=darkred><td>błędne dane</b></td></font></tr></table>");
  38. }  ?>


Jak zrobic, żeby formularz, gdzie wpisywane jest login/haslo po zalogowaniu zniknął? bo teraz po zalogowaniu nie znika, dopiero jak kliknie się na odśwież,

pozdrawiam
grudziu
ghash
dodaj do formularza takie coś:

<input type="hidden" name="znik" value="1">

potem przed całym formularzem zrób:


if (!isset($_GET['znik']) {

i tutaj pojawia się formularz do logowania

}


no i wtedy jeżeli nie został wysłany formularz logowania to formularz się pojawia, jeżeli formularz został wysłany to się nie pojawia:)

Poza tym - lepiej jest zostawić formularz widoczny, a dodać jeszcze komunikaty o np. błednym haśle lub braku użytkownika.
Wtedy nad formularzem pojawia się odpowiedni komunikat, a pod spodem znów możesz się spróbować zalogować.
grudziu
Cytat(ghash @ 22.12.2006, 10:31:06 ) *
dodaj do formularza takie coś:

<input type="hidden" name="znik" value="1">

potem przed całym formularzem zrób:
if (!isset($_GET['znik']) {

i tutaj pojawia się formularz do logowania
}


dzięki za odpowiedź, teraz jestem zmarnowny troche świąteczną gorączką i nie będę testować, jutro napisze jak to działa, ale na pierwszy rzut oka spodziewam się, że to nie do końca jest to o co chodzi, bo ja chce żeby to zniknęło po zalogowaniu... a nie po pierwszej próbie wpisania. No ale jutro pokombinuje z warunkami z mojego skyptu, może coś z tego wyniknie

Cytat
Poza tym - lepiej jest zostawić formularz widoczny, a dodać jeszcze komunikaty o np. błednym haśle lub braku użytkownika.
Wtedy nad formularzem pojawia się odpowiedni komunikat, a pod spodem znów możesz się spróbować zalogować.


ostatnia linijka mojego skryptu jest odnośnie sytuacji gdy nie jest poprawne hasło/login

pzdr
Albitos
Po prostu przenieś formularz na dół skryptu, a następnie sprawdzaj czy user poprawnie się zalogował i zależnie od tego, wyświetlaj albo powitanie, albo formularz.
grudziu
Dzięki wielkie dla Ghash'a i Albitos'a.
Rozwiązałem tak jak napisaliście, najpierw formularz do logowania+zmienna pomocnicza, która przestawia wartość na 1 po uzupełnieniu formularza, potem weryfikacja, jesli negatywna to przekopiowalem cały formularz jeszcze raz, tamten znika, pojawia się nowy wyglądający identycznie, działa na pierwszy rzut oka bdb.
cool.gif gitara
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.