Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php+mysql] Logowanie
zaba12
post
Post #1





Grupa: Zarejestrowani
Postów: 223
Pomógł: 0
Dołączył: 29.08.2003
Skąd: Gliwice

Ostrzeżenie: (10%)
X----


Mam problem nie loguje i do tego pokazuje błąd ;/

  1. <? function zaloguj() {
  2. global $cmd,$nick,$haslo;
  3. $haslo=md5($_POST['haslo']);
  4. $query = &#092;" SELECT * FROM uzytkownicy where login = '\".$_POST['login'].\"' AND haslo = '\".$_POST['haslo'].\"' \";
  5. $result = mysql_query($query);
  6. if($result && mysql_affected_rows($result) > 0)
  7. {
  8. echo '&nbsp;Zostałe&para; zalogowany';
  9. }
  10. else
  11. {
  12.  echo '&nbsp;bledny login lub haslo';
  13. }
  14.  
  15. } 
  16. ?>


oto błąd

Kod
Warning: mysql_affected_rows(): supplied resource is not a valid MySQL-Link resource in C:\strony\gry\module\login.php on line 8
bledny login lub haslo
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
ikioloak
post
Post #2





Grupa: Zarejestrowani
Postów: 416
Pomógł: 0
Dołączył: 8.01.2004

Ostrzeżenie: (0%)
-----


Pisze dzis juz chyba 4 raz: jak robisz mysql_query() to daj pozniej die(mysql_error()); czyli:
  1. <?php
  2.  
  3. $result = mysql_query($query) or die(mysql_error());
  4.  
  5. ?>

i bedzie jasniej.
Go to the top of the page
+Quote Post
zombie
post
Post #3





Grupa: Zarejestrowani
Postów: 296
Pomógł: 0
Dołączył: 9.05.2002
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


1. nie sądzę, żeby po query z SELECT'em wystąpiły mysql_affected_rows... w siódmej linii powinno raczej pojawić się np.:
  1. <?php
  2. if (mysql_num_rows($result) > 0){
  3. ?>
2. błąd w $result najprościej sprawdzić zmieniając szóstą linię na
  1. <?php
  2. $result = mysql_query($query) or die (mysql_error());
  3. ?>


--------------------
audaces fortuna iuvat!
Go to the top of the page
+Quote Post
zaba12
post
Post #4





Grupa: Zarejestrowani
Postów: 223
Pomógł: 0
Dołączył: 29.08.2003
Skąd: Gliwice

Ostrzeżenie: (10%)
X----


Dzieki zombie błędu już nie ma ale nieda się zalogowac teraz ;/ pisze tylko to
Kod
Logowanie

bledny login lub haslo


Ten post edytował zaba12 6.08.2005, 18:19:23
Go to the top of the page
+Quote Post
zombie
post
Post #5





Grupa: Zarejestrowani
Postów: 296
Pomógł: 0
Dołączył: 9.05.2002
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


no to znaczy, że nie znalazł użytkownika o podanym loginie i haśle. Sprawdź pomiędzy 5 i 6 linią, przez np.
  1. <?php
  2. echo($query);
  3. ?>
czy do zapytania w ogóle docierają istniejące w bazie login i haslo.


--------------------
audaces fortuna iuvat!
Go to the top of the page
+Quote Post
zaba12
post
Post #6





Grupa: Zarejestrowani
Postów: 223
Pomógł: 0
Dołączył: 29.08.2003
Skąd: Gliwice

Ostrzeżenie: (10%)
X----


hmm chyba widzi


Kod
Logowanie

SELECT * FROM uzytkownicy where login = 'admin' AND haslo = 'admin'  



bledny login lub haslo
Go to the top of the page
+Quote Post
ikioloak
post
Post #7





Grupa: Zarejestrowani
Postów: 416
Pomógł: 0
Dołączył: 8.01.2004

Ostrzeżenie: (0%)
-----


a haslo w bazie nie jest czasem w md5()?
nie powinno byc czasem:
  1. <?php
  2.  
  3. $query = &#092;" SELECT * FROM uzytkownicy where login = '\".$_POST['login'].\"' AND haslo = '\".$haslo.\"' \";
  4.  
  5. ?>

tak wnioskuje przynajmniej z twojego kodu
Go to the top of the page
+Quote Post
zaba12
post
Post #8





Grupa: Zarejestrowani
Postów: 223
Pomógł: 0
Dołączył: 29.08.2003
Skąd: Gliwice

Ostrzeżenie: (10%)
X----


ok jest zakodowane ale nadal nie loguje;/

Kod
SELECT * FROM uzytkownicy where login = 'admin' AND haslo = 'db42fda9c404b99262b0855c173c764b'  
Go to the top of the page
+Quote Post
zombie
post
Post #9





Grupa: Zarejestrowani
Postów: 296
Pomógł: 0
Dołączył: 9.05.2002
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


a dodałeś do bazy takiego użytkownika? odpowiedź na zapytanie jest negatywna, więc pewnie nie


--------------------
audaces fortuna iuvat!
Go to the top of the page
+Quote Post
zaba12
post
Post #10





Grupa: Zarejestrowani
Postów: 223
Pomógł: 0
Dołączył: 29.08.2003
Skąd: Gliwice

Ostrzeżenie: (10%)
X----


tak taki uzytkownik jest w bazie danych
Go to the top of the page
+Quote Post
zombie
post
Post #11





Grupa: Zarejestrowani
Postów: 296
Pomógł: 0
Dołączył: 9.05.2002
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


no coz... nie jestem przekonany, ale bez dostępu do całości skryptu i bazy nie umiem Ci pomóc


--------------------
audaces fortuna iuvat!
Go to the top of the page
+Quote Post
zaba12
post
Post #12





Grupa: Zarejestrowani
Postów: 223
Pomógł: 0
Dołączył: 29.08.2003
Skąd: Gliwice

Ostrzeżenie: (10%)
X----


Oki oto sql


  1. CREATE TABLE `uzytkownicy` (
  2. `id` int(8) NOT NULL AUTO_INCREMENT,
  3. `nick` varchar(20) NOT NULL DEFAULT '',
  4. `login` varchar(20) NOT NULL DEFAULT '',
  5. `haslo` varchar(30) NOT NULL DEFAULT '',
  6. `email` varchar(40) NOT NULL DEFAULT '',
  7. `url` varchar(30) NOT NULL DEFAULT '',
  8. `gg` varchar(30) NOT NULL DEFAULT '',
  9. `miejscowosc` varchar(30) NOT NULL DEFAULT '',
  10. `zainteresowania` varchar(25) NOT NULL DEFAULT '',
  11. `kto` varchar(25) NOT NULL DEFAULT 'user',
  12. KEY `id` (`id`)
  13. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
  14.  
  15. --
  16. -- Zrzut danych tabeli `uzytkownicy`
  17. --
  18.  
  19. INSERT
  20. INTO `uzytkownicy` VALUES (1, 'admin', 'admin', 'db42fda9c404b99262b0855c173c76', 'zaba141@o2.pl', '', '', 'Gliwice', '', 'user');


a to caly kod php

login.php
  1. <?php 
  2. //Engine strony
  3. include (&#092;"config.php\");
  4. include (&#092;"functions.inc\");
  5. include (&#092;"module/login.php\");
  6. //Koniec Engine strony
  7.  
  8. function pokaz() {
  9. global $cmd,$login,$haslo;
  10. echo &#092;"<b>&nbsp;Logowanie</b><br>\";
  11. echo &#092;"<br>\";
  12. if ($cmd == '') {
  13.  
  14. zaloguj();
  15.  
  16. }
  17.  
  18. }
  19.  
  20.  
  21. //Ładowanie Skóry
  22. include (&#092;"theme/$theme/index.php\");
  23. ?>


a to jest module/login.php

  1. <?
  2.  
  3. function zaloguj() {
  4. global $cmd,$login,$haslo;
  5. $haslo=md5($_POST['haslo']);
  6. $query = &#092;" SELECT * FROM uzytkownicy where login = '\".$_POST['login'].\"' AND haslo = '\".$haslo.\"' \";
  7. $result = mysql_query($query) or die (mysql_error());
  8. if (mysql_num_rows($result) > 0)
  9. {
  10. echo '&nbsp;Zostałe&para; zalogowany';
  11. }
  12. else
  13. {
  14.  echo '&nbsp;bledny login lub haslo';
  15. }
  16.  
  17.  
  18. }
  19.  
  20.  
  21. ?>
Go to the top of the page
+Quote Post
zombie
post
Post #13





Grupa: Zarejestrowani
Postów: 296
Pomógł: 0
Dołączył: 9.05.2002
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


md5() - hash ma 32 znaki. Ty ustaliłeś na 30, więc do bazy dopisało się tylko pierwsze 30 znaków hasła. zatem hasło w bazie jest inne, niżw zapytaniu.


--------------------
audaces fortuna iuvat!
Go to the top of the page
+Quote Post
zaba12
post
Post #14





Grupa: Zarejestrowani
Postów: 223
Pomógł: 0
Dołączył: 29.08.2003
Skąd: Gliwice

Ostrzeżenie: (10%)
X----


aha dzięki juz działa mam jeszcze jedno pytanie jak mozna zrobic zeby po zalogowaniu ten kodzik
Kod
<table border="0" cellspacing="0" cellpadding="2" align="right">
<tr>
<td><form name="logowanie" action="login.php" method="post"></td>
<td><input class="input" type="text" name="login" size="10" /></td>
<td><input class="input" type="text" name="haslo" size="10" /></td>
<td><input src="theme/glowna/input/wyslij.gif" type="image" name="login" value="Zaloguj" /></td>
<td></form></td>
</tr>
</table>


zmienial się np na to.

Twoje konto, Dodaj artykul itp
Go to the top of the page
+Quote Post
zombie
post
Post #15





Grupa: Zarejestrowani
Postów: 296
Pomógł: 0
Dołączył: 9.05.2002
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


poszukaj informacji o sesjach na forum. za szeroki temat, żeby tłumaczyć i powtarzać to samo setny raz.


--------------------
audaces fortuna iuvat!
Go to the top of the page
+Quote Post
zaba12
post
Post #16





Grupa: Zarejestrowani
Postów: 223
Pomógł: 0
Dołączył: 29.08.2003
Skąd: Gliwice

Ostrzeżenie: (10%)
X----


a mam inny problem oto on

Kod
Warning: mysql_query() [http://www.mysql.com/doc]: Query was empty in C:\strony\gry\module\login.php on line 22

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\strony\gry\module\login.php on line 23


a to kod

  1. <?
  2.  
  3. function user() {
  4. global $cmd,$nick,$login,$haslo,$email,$url,$gg,$miejscowosc,$zainteresowania,$kto;
  5. if ($kto == '\".$login.\"')
  6. $query1 = &#092;"SELECT * FROM uzytkownicy WHERE login='\".$login.\"';\";
  7. $result1 = mysql_query ($query1);
  8. while ($row = mysql_fetch_array($result1)) {
  9. $id = $row['id'];
  10. $nick = $row['nick'];
  11. $login = $row['login'];
  12. $haslo = $row['haslo'];
  13. $email = $row['email'];
  14. $url = $row['url'];
  15. $gg = $row['gg'];
  16. $miejscowosc = $row['miejscowosc'];
  17. $zainteresowania = $row['zainteresowania'];
  18. $kto = $row['kto'];
  19.  }
  20.  
  21. } 
  22.  
  23. ?>


Ten post edytował zaba12 6.08.2005, 21:12:18
Go to the top of the page
+Quote Post
Jim
post
Post #17





Grupa: Zarejestrowani
Postów: 111
Pomógł: 0
Dołączył: 27.07.2005

Ostrzeżenie: (0%)
-----


błąd jest prawdopodobnie w tym fragmencie

  1. <?php
  2. if ($kto == '\".$login.\"')
  3. $query1 = &#092;"SELECT * FROM uzytkownicy WHERE login='\".$login.\"';\";
  4. ?>


pierwszy komunikat informuje o tym, ze zapytanie bylo puste. a to dlatego ze nie zostal spelniony warunek powyzszego if'a ($kto !== $login).
w ogole dziwnie to zapisales sprobuj tak:

  1. <?php
  2. if ($kto == $login)
  3. ?>


a drugi error jest konsekwencja pierwszego.

btw: zapytan SQL nie trzeba zakanczac ';'
Go to the top of the page
+Quote Post
zaba12
post
Post #18





Grupa: Zarejestrowani
Postów: 223
Pomógł: 0
Dołączył: 29.08.2003
Skąd: Gliwice

Ostrzeżenie: (10%)
X----


czemu nie wyswietla mi zadnych danych ;/
i nie ma bledu zadnego
  1. <?
  2. function user() {
  3. global $cmd,$nick,$login,$haslo,$email,$url,$gg,$miejscowosc,$zainteresowania,$kto;
  4. if ($f == $login) {
  5. $query1 = &#092;"SELECT * FROM uzytkownicy WHERE login='\".$login.\"'\";
  6. $result1 = mysql_query ($query1);
  7. while ($row = mysql_fetch_array($result1)) {
  8.  
  9. $id = $row['id'];
  10. $nick = $row['nick'];
  11. $login = $row['login'];
  12. $haslo = $row['haslo'];
  13. $email = $row['email'];
  14. $url = $row['url'];
  15. $gg = $row['gg'];
  16. $miejscowosc = $row['miejscowosc'];
  17. $kto = $row['kto'];
  18. echo $login;
  19.  }
  20. echo '<b>Dane Uzupełniające:</b><br />
  21. Status: Offline<br />
  22. Gadu-gadu:$gg<br />
  23. Strona WWW:$url<br />
  24. Skąd: \".$login.\"';
  25. }
  26. }
  27.  
  28. ?>
Go to the top of the page
+Quote Post
R4v3N
post
Post #19





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 7.05.2004
Skąd: Pultusk

Ostrzeżenie: (0%)
-----


  1. <?php
  2.  
  3. function user() {
  4.    global $cmd,$nick,$login,$haslo,$email,$url,$gg,$miejscowosc,$zainteresowania,$kto;
  5.   // if ($f == $login) {  - CO TO JEST ?
  6.      $query1 = &#092;"SELECT * FROM uzytkownicy WHERE login='$login'\";
  7.      $result1 = mysql_query($query1);
  8.      while ($row = mysql_fetch_array($result1)) {
  9.  
  10.     $id      = $row['id'];
  11.     $nick   = $row['nick'];
  12.     $login  = $row['login'];
  13.     $haslo = $row['haslo'];
  14.     $email = $row['email'];
  15.     $url     = $row['url'];
  16.     $gg     = $row['gg'];
  17.     $miejscowosc = $row['miejscowosc'];
  18.     $kto    = $row['kto'];
  19.  
  20.     echo $login;
  21.      }
  22.    echo &#092;"<b>Dane Uzupełniające:</b><br />
  23.    Status: Offline<br />
  24.    Gadu-gadu: $gg<br />
  25.    Strona WWW: $url<br />
  26.    Skąd: &#092;".$login;
  27.    // }
  28. }
  29.  
  30. ?>


Kod
$f == $login) { ... }


No nie mam pojecia po co to jest :] z tego co wnioskuje z towjego kodu to porownojesz wartosci $f (ktora nie jest dostepna w tej funkcji) z $login. Jasna sprawa z ci nic nie wyswietli bo warunek zapytania jest niespelniany ;]

pozatym w echo masz lekki blad jezeli dajesz text w ' to nastepnie zeby wyswietlic warotsc zmiennej musisz dac '..' a nie ".."

Zreszta nie rozumiem po co masz tu petle, no chyba ze w bazie userow masz uzytkownikow o takichsamych nazwach ;]

Ten post edytował R4v3N 7.08.2005, 09:09:12
Go to the top of the page
+Quote Post
zaba12
post
Post #20





Grupa: Zarejestrowani
Postów: 223
Pomógł: 0
Dołączył: 29.08.2003
Skąd: Gliwice

Ostrzeżenie: (10%)
X----


to wyglada mniej więcej tak

login.php?cmd=mini&f=admindo tego jest to $f == $login
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 18:47