Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php&mysql] Problem z logowaniem
Forum PHP.pl > Forum > Gotowe rozwiązania
tumeks
Napisalem swoj skrypt do logowania i mam problem gdy jest formularz logowania to obojetnie co wpisze w login i haslo i tak usera zaloguje czy mam np. formularz i wpisuje login:stasiek i haslo: costam to zaloguje tego usera a go niee ma w bazie danych

oto plik login

Kod
<?php

// utworzenie krótkich nazw zmiennych

$nazwa_uz = $HTTP_POST_VARS['nazwa_uz'];

$haslo = $HTTP_POST_VARS['haslo'];



if ($nazwa_uz && $haslo)

// właśnie nastąpiła próba logowania

{

    if (loguj($nazwa_uz, $haslo))

    {

      // jeżeli użytkownik znajduje się w bazie danych rejestracja identyfikatora

      $HTTP_SESSION_VARS['prawid_uzyt'] = $nazwa_uz;



    }  

    else

    {

      // niepomyślne logowanie

$HTTP_SESSION_VARS['prawid_uzyt'] = $nazwa_uz;

       echo "Zalogowany jako: <b>$nazwa_uz</b> "; ?>

     <br><br><A href="index.php?page=logowanie/ustawienia">Ustawienia</A> | <A href="index.php?page=logowanie/logout">Wyloguj</A> | <A href="index.php?page=logowanie/alluser">Użytkownicy</A> | <? if(($nazwa_uz == "admin") ) { ?><a href="index.php?page=logowanie/admin">Panel administracyjny</a><? } else { } ?>

     <? exit;

    }      

}



echo 'Zalogowanie niemożliwe.';

sprawdz_prawid_uzyt();





?>



a to plik funkcje.php w ktorym sa funkcje logij i sprawdz_prawid_uzyt

Kod
<?

session_start();

$nazwa_uz = $HTTP_SESSION_VARS['prawid_uzyt'];

function sprawdz_prawid_uzyt()

// sprawdzenie czy użytkownik jest zalogowany i powiadomienie go jeżeli nie

{

  global $HTTP_SESSION_VARS;

  if (isset($HTTP_SESSION_VARS['prawid_uzyt']))

  {

      echo 'Zalogowano jako '.$HTTP_SESSION_VARS['prawid_uzyt'].'.';

      echo '<br />';

  }

  else

  {

     // nie jest zalogowany

     echo 'Brak zalogowania.<br />';

     exit;

  }  

}



function loguj($nazwa_uz, $haslo)

// sprawdzenie nazwy użytkownika i hasła w bazie danych

// jeżeli się zgadza, zwraca true

// jeżeli nie, zwraca false

{



  // sprawdzenie unikatowości nazwy użytkownika

  $wynik = mysql_query("select * from uzytkownik

                         where nazwa_uz='$nazwa_uz'

                         and haslo = password('$haslo')");

  if (!$wynik)

     return false;

  

  if (mysql_num_rows($wynik)>0)

     return true;

  else

     return false;

} ?>
matid
[php:1:277b7f6519]
<?php
// utworzenie krótkich nazw zmiennych
$nazwa_uz = $HTTP_POST_VARS['nazwa_uz'];
$haslo = $HTTP_POST_VARS['haslo'];

if (!empty($nazwa_uz) && !empty($haslo))
// właśnie nastąpiła próba logowania
{
if (loguj($nazwa_uz, $haslo))
{
// jeżeli użytkownik znajduje się w bazie danych rejestracja identyfikatora
$HTTP_SESSION_VARS['prawid_uzyt'] = $nazwa_uz;
echo "Zalogowany jako: <b>$nazwa_uz</b> "; ?>
<br><br><A href="index.php?page=logowanie/ustawienia">Ustawienia</A> | <A href="index.php?page=logowanie/logout">Wyloguj</A> | <A href="index.php?page=logowanie/alluser">Użytkownicy</A> | <? if(($nazwa_uz == "admin") ) { ?><a href="index.php?page=logowanie/admin">Panel administracyjny</a><? } else { } ?>
<? exit;
}
else {
echo "Błędne dane użytkownika";
}
}

sprawdz_prawid_uzyt();

?>
[/php:1:277b7f6519]
Spróbuj tego kodu.

PS: Jak podajesz kod php to nie w znacznikach [ code ][/ code ] tylko [ php ][/ php ]
tumeks
Nadal nie dzial jest tak jak wtedy obojetnie cowpisze w hasle lub nicku i tak sie zaloguje :/
matid
Poprawiłem kod, spróbuj teraz.
tumeks
dzieki bardzo wszytko dziala
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.