Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: skrypt logowanie-wylogowanie
Forum PHP.pl > Forum > Gotowe rozwiązania
robert_b
Zwracam sie z prosba do bardziej zaawansowanych userow o pomoc w celu poprawienia mojego skryptu.
Chodzi o to ze na stronie glownej(index.php) znajduje sie kod generujacy 2 formularze w zaleznosci od okolicznosci:
  1. <?php
  2. if(!(isset($_SESSION['zalogowany']))||($_SESSION['zalogowany']=='nie')){
  3. echo('<table id=\"menu\"><tr><td><form method=\"post\"  action=\"index.php?id=login\">');
  4. echo('Login:<input id=\"log\" type=\"text\" name=\"login\"/>');
  5. echo('Hasło:<input id=\"log\" type=\"password\" name=\"passwd\"/>');
  6. echo('<input type=\"hidden\" id=\"log\" name=\"akcja\" value=\"zaloguj\" />');
  7. echo('<input id=\"log\" type=\"submit\" value=\"zaloguj\" /></form>');
  8. echo('</td></tr></table>');
  9. }else{
  10. echo('<form method=\"post\" action=\"index.php?id=login\">');
  11. echo('<input type=\"hidden\" id=\"log\" name=\"akcja\" value=\"wyloguj\" />');
  12. echo('<input type=\"submit\" id=\"log\" value=\"wyloguj\" />');
  13.  
  14. }
  15. ?>

Logowanie przebiega prawidlowo, ale gdy pojawia sie fromularz z opcja "wyloguj"
to nie chce sie znowu pojawic pierwszy formularz (do zalogowania).

Oto moj skrypt logowania/ wylogowania:
  1. <?php
  2. $polo=mysql_connect(&#092;"xxxx\",\"xxxx\",\"xxxx\")or die(\"Blad przy polaczaniu sie z baza\");
  3. $baza=mysql_select_db(&#092;"xxxx\",$polo)or die(\"Nie mozna wybrac wskazanej bazy\");
  4. if(!($_POST['akcja']='wyloguj')){
  5. if(!isset($_POST['login'])){
  6. $login=strip_tags($_SESSION['login']);
  7. }else{
  8. $login=strip_tags($_POST['login']);
  9. session_register('login');
  10. }
  11. if(!isset($_POST['passwd'])){
  12. $haslo=strip_tags($_SESSION['haslo']);
  13. }else{
  14. $haslo=strip_tags($_POST['passwd']);
  15. session_register('haslo');
  16. }
  17. $q2=&#092;"select * from `uzytkownicy` where `login` like '$login' and `haslo` like PASSWORD('$haslo')\";
  18. $w2=mysql_query($q2);
  19. $wiersz=mysql_fetch_array($w2);
  20. ?>
  21. <p id=\"prawy\">Logowanie<br/><br/>
  22. <?php
  23. if($w2=1){
  24. echo(&#092;"witaj $login !<br/>\");
  25. echo('Jestes teraz zalogowany i uzyskales dostep do \"tajnego\" dzialu.;)');
  26. $zalogowany='tak';
  27. }else{
  28. echo('Nie udalo ci sie zalogowac! Sprawdz wielkosc liter i sprobuj ponownie!');
  29. $zalogowany='nie';
  30. }
  31. }
  32. else{
  33. $zalogowany='nie';
  34. }
  35. session_register('zalogowany');
  36. ?>
  37. </p>

Mam nadzieje ze jasno przedstawilem problem! winksmiley.jpg
Jednoczesnie prosze o wskazanie LUK w bezpieczenstwie o ile takowe zostana zauwazone (choc raczej jestem pewien ze beda)

Z gory dzieki za pomoc!

p.s. Przepraszam za brak polskich znakow.
Nievinny
Tak powinno być dobrze:

  1. <?php
  2. $polo=mysql_connect(&#092;"xxxx\",\"xxxx\",\"xxxx\")or die(\"Blad przy polaczaniu sie z baza\");
  3. $baza=mysql_select_db(&#092;"xxxx\",$polo)or die(\"Nie mozna wybrac wskazanej bazy\");
  4. if(!($_POST['akcja']='wyloguj')){
  5. if(!isset($_POST['login'])){
  6. $login=strip_tags($_SESSION['login']);
  7. }else{
  8. $login=strip_tags($_POST['login']);
  9. session_register('login');
  10. }
  11. if(!isset($_POST['passwd'])){
  12. $haslo=strip_tags($_SESSION['haslo']);
  13. }else{
  14. $haslo=strip_tags($_POST['passwd']);
  15. session_register('haslo');
  16. }
  17. $q2=&#092;"select * from `uzytkownicy` where `login` like '$login' and `haslo` like PASSWORD('$haslo')\";
  18. $w2=mysql_query($q2);
  19. $wiersz=mysql_fetch_array($w2);
  20. ?>
  21. <p id=\"prawy\">Logowanie<br/><br/>
  22. <?php
  23. if($w2=1){
  24. echo(&#092;"witaj $login !<br/>\");
  25. echo('Jestes teraz zalogowany i uzyskales dostep do \"tajnego\" dzialu.;)');
  26. $_SESSION['zalogowany'] ='tak';
  27. }else{
  28. echo('Nie udalo ci sie zalogowac! Sprawdz wielkosc liter i sprobuj ponownie!');
  29. $_SESSION['zalogowany'] ='nie';
  30. }
  31. }
  32. else{
  33. $_SESSION['zalogowany'] ='nie';
  34. }
  35. session_register('zalogowany');
  36. ?>
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-2024 Invision Power Services, Inc.