Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kod Logujący Anonimowego Użytkownika…
Forum PHP.pl > Forum > Przedszkole
medi
Jak powinien wyglądać kod który sprawdzi czy użytkownik podał poprawne hasło? (bez loginu , użytkownik wprowadza tylko kod zbudowany z cyfr i liter) localhost , Baza_danych , Tabela_danych , Janek , haslo1 (komórka w tabeli_danych zawierająca hasła nazywa się “kod”) Help me please !
darkspirit
użytkownik wprowadza: localhost,baza,moja_tabela,jasio,haslo

  1. <?php
  2.  
  3. $dane = 'localhost,baza,moja_tabela,jasio,haslo';
  4. $dane = explode(',' , $dane);
  5.  
  6. #tutaj jakies polaczenie z baza
  7.  
  8. $query = mysql_query(&#092;"select kod from $dane[2] where kod = \".$dane[4]);
  9. if(mysql_num_rows($query) != 0)
  10. echo 'Podałeś dobre hasło';
  11. else
  12. echo 'Podałeś złe hasło';
  13.  
  14. ?>


nic lepszego mi do głowy nie przychodzi
noi ustawiasz, że to co użytkownik przesłał zapisuje się do zmiennej $data zamiast: $dane = 'localhost,baza,moja_tabela,jasio,haslo';

bye
medi
Nie zrozumiales :] Dane: 'localhost,baza,moja_tabela,jasio,haslo' to sa moje dane sluzace do polaczenia z baza danych i odpowiednia tabela :] Uzytkownik wprowadza tylko 11-znakowy kod i dostaje dostep do "tajnej" strony
darkspirit
  1. <?php
  2.  
  3. $pass= addslashes($_POST[pass]);
  4.  
  5. if($pass != '')
  6.  {
  7.  
  8. mysql_connect('localhost' , 'Janek' , 'haslo');
  9. mysql_select_db('baza_danych');
  10. if(mysql_num_rows(mysql_query(&#092;"select kod from Tabela_danych where kod = $pass\")) != 0 )
  11. echo 'prawidłowe hasło.';
  12. else
  13.  echo 'błędne hasło';
  14.  
  15.  }else
  16.  echo '<FORM action=$PHP_SELF method=post><INPUT TYPE=text NAME=pass></FORM>';
  17.  
  18. ?>
Vertical
Ja napisałbym coś takiego:
  1. <?php
  2. //Kod sprawdzajacy uzyszkodnika:
  3. $db = mysql_connect(&#092;"localhost\", \"root\"); /*Jesli pracujesz na hoscie lokalnym. W innym przypadku wpisz:
  4. $db = mysql_connect(&#092;"host\", \"user\", \"haslo\"); */
  5. mysql_select_db(&#092;"baza_danych\", $db);
  6. $sql = &#092;"SELECT * FROM tabela WHERE user='user'\";
  7. $result = mysql_query($sql);
  8. $row_count = mysql_num_rows($result);
  9. if($row_count == 0):
  10.  print(&#092;"Zly loginn\");
  11. else:
  12. //Kod sprawdzajacy haslo:
  13.  $row = mysql_fetch_array($result);
  14.  if(haslo != $row[&#092;"haslo\"]):
  15.  print(&#092;"Zle haslon\");
  16.  else:
  17.  print(&#092;"Login zaakceptowanyn\");
  18. //Zakonczenie sprawdzania. Zakanczanie warunkow:
  19. endif;
  20. endif;
  21. ?>

Zawsze działa cool.gif
darkspirit
  1. <?php
  2.  
  3. $sql = &#092;"SELECT * FROM tabela WHERE user='user'\";
  4. $result = mysql_query($sql);
  5. $row_count = mysql_num_rows($result);
  6. if($row_count == 0):
  7.  
  8. ?>

Czy nie szybciej byłoby to zapisać w jednej linijce, bez zapisywania tylu rzeczy do zmiennych?

bye Rkingsmiley.png
medi
czy w miejsce
Cytat
if($pass != '')
musze wprowadzic jakis kod z tabeli? (dostaje komunikaty ze podaje zle haslo :-/ tzn: wyswietla sie komunikat bledu
Cytat
'błędne hasło'
gdy wprowadzam kody z tabeli :-/ )

A w ogole ten kod ktory mi podales ma byc wprowadzony do mojej "tajnej" strony czy tez moja "tajna" strone wywoluje przez
Cytat
echo 'prawidłowe hasło.';
? z gory dziekuje...pozdro
darkspirit
Cytat(medi @ 2004-08-14 20:23:36)
czy w miejsce
Cytat
if($pass != '')
musze wprowadzic jakis kod z tabeli? (dostaje komunikaty ze podaje zle haslo :-/ tzn: wyswietla sie komunikat bledu
Cytat
'błędne hasło'
gdy wprowadzam kody z tabeli :-/ )

A w ogole ten kod ktory mi podales ma byc wprowadzony do mojej "tajnej" strony czy tez moja "tajna" strone wywoluje przez
Cytat
echo 'prawidłowe hasło.';
? z gory dziekuje...pozdro

kod z tabeli wstawiasz do formularza,
a zamiast echo 'prawidlowe hasło'; wpisz sobie include('tajna strona.php'); albo echo'open("tajna_strona.php")';
oczywiście trzeba by było pomyśleć o tym żeby wpisując w przeglądarke adres_strony/tajna_strona.php nie pokazało zawartości, może sesje albo ciasteczka?

bye Rkingsmiley.png
medi
wypluwa mi ze funkcja sprawdzajaca: mysql_num_rows(): nie jest poprawnym parametrem SQL sad.gif supplied argument is not a valid MySQL result resource A oto fragment kodu ktory wklepalem:
Kod
if(mysql_num_rows(mysql_query("select kod from moja_tabela where kod = $pass")) != 0 )
echo include('secret.php');
else
echo include('zle.php');

dzieki z gory za pomoc
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.