Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] problem z logowaniem
Forum PHP.pl > Forum > Przedszkole
gebp
1.Mam mały problem. Hasło i login wysyłane POST'em. plik index2.php odpowiada za logowanie. Problem polega na tym iż przy błednym podaniu loginu/ hasła i ponownej próbie zalogowania (z poprawnym loginem/hasłem) wywala mnie mimo tego do logowani. Pomaga dopiero "zrestartowanie" przeglądarki (dot. IE i Firefox).
index2.php.
  1. <?php
  2. if (empty ($_SESSION['user'])) {$_SESSION['user']= $_POST['login'];};
  3. if (empty ($_SESSION['pass'])) {$_SESSION['pass']= $_POST['pass'];};
  4.  
  5. $l=$_SESSION['user'];
  6. mysql_connect("mysql.yoyo.pl","*****","******");
  7. $s1 = "SELECT nazwa, pass FROM sklepy WHERE nazwa like '$l'";
  8. $w= mysql_query($s1);
  9. $pnazwa= $w1['nazwa'];
  10. $ppass=$w1['pass'];
  11.  
  12. if ( (!isset($_SESSION['user'])) AND (!isset($_SESSION['pass'])) )
  13. { header("location: index.html");
  14. exit();}
  15. if(($_SESSION['user'] === $pnazwa) AND ($_SESSION['pass'] === $ppass) )
  16.  {$_SESSION['autuser']=1;
  17.  echo ("<b>ZALOGOWANY: </b>".$_SESSION['user']."</BR></BR></BR>");
  18. }
  19.  else {
  20.  echo ('
  21.  <TABLE>
  22.  <TR><TD>Niepoprawny login lub hasło --> ACESS DENIDED</TD></TR>
  23.  <TR><TD><a href="index.html"> LOGOWANIE </a></TD></TR>
  24. </TABLE></BR>');
  25.  exit();}
  26. ?>
  27. <HTML>
  28. <a href="ph.php"><b><font color="#FF9900">ZMIANA HASŁA</font></b></a></BR> </BR>
  29. <a href="dsprz.php"><b><font color="#0066FF">SPRZEDAŻ</font></b></a></BR></BR>
  30. <a href="wyniki.php"><b><font color="#00CC00">WYNIKI SKLEPÓW</font></b></a></BR></BR>
  31. <a href="poprawa.php"><b><font color="#CC6600">POPRAWIENIE DANYCH SPRZEDAŻOWYCH</font></b></a></BR></BR>
  32. <a href="panel1.php"><b><font color="#FF66FF">PANEL ADMINISTRATORA</font></b></a>/<BR></BR>
  33. <a href="logout.php"><b><font color="#FF0000">WYLOWGOWANIE</font></b></a></BR></BR>
  34. </HTML> 


2. Problem drugi dotyczy kodowania polskich znaków driaktycznych. Przeglądałem forum i nie zabardzo wiem jak sobie z tym poradzić. Wszystkie pliki oprócz index.html mam *.php.
Gdzie i jak mam umieścić dane dot. kodowania. Próbowałem wstawić mete przed <?php...?> ale cosik sie kisiło. Jakby ktoś mógł podpowiedzieć.
nospor
Cytat
dot. IE i Firefox).
A Opery to nie dotyczy?
Odpowiem sam: Dotyczy smile.gif to dotyczy kazdej przęglądarki.

  1. <?php
  2. if (empty ($_SESSION['user'])) {$_SESSION['user']= $_POST['login'];};
  3. if (empty ($_SESSION['pass'])) {$_SESSION['pass']= $_POST['pass'];};
  4. ?>

Ten kod odpowiada za Twoje "problemy". Jesli sesja pusta, to wrzucasz do niej to co w poscie. jesli nie jest pusta to olewasz to co z posta. A potem do obróbki danych pobierasz wszystko z sesji a nie z posta, wiec sie nei dziw ze musisz przegladarke restartowac, by odswierzyly ci sie dane z forma, gdyz dopiero to powoduje zniszczenie sesji i wpisanie na nowo do niej danych z formularza.
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.