![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 0 Dołączył: 16.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
mam taki fragnent kodu sprawdzajacego czy user i haslo sie zgadza:
$sql = "SELECT * FROM konta WHERE useremail_id='$email' AND haslo='$cpass'"; $wynik = pg_query($sql); $data = pg_fetch_array ($wynik, 0, PGSQL_ASSOC); i dziala, ale w momencie kiedy naprzyklad haslo sie nie zgadza wywala blad: Warning: pg_fetch_array() unable to jump to row 0 on PostgreSQL result index 3 in /var/www/html/.........itd moze inaczej trzeba zapytanie skonstruowac? bo caly skrypt dziala tylko ten warning sie wpieprza |
|
|
![]() |
![]()
Post
#2
|
|
![]() Administrator serwera Grupa: Przyjaciele php.pl Postów: 909 Pomógł: 0 Dołączył: 12.08.2003 Skąd: /var/www/wroclaw.php Ostrzeżenie: (0%) ![]() ![]() |
Cytat unable to jump to row 0
nie mogę przejść do wiersza 0 -------------------- Powrót do przeszłości :)
![]() |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 0 Dołączył: 16.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
hehe to tez wiem - tylko jak to obejsc
![]() |
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Zanim skaczesz do 0 wiersza , sprawdź czy zapytanie jakieś w ogóle zwróciło.
Funkcja pg_num_rows zwraca ilość wierszy zwróconych przez zapytanie. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 300 Pomógł: 1 Dołączył: 22.09.2003 Skąd: Czeladź Ostrzeżenie: (0%) ![]() ![]() |
lalas: napisałeś 24 posty i nie wiesz jak się kożysta z bbcode
![]() |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 0 Dołączył: 16.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
no pewnie ze pg_num_rows zwraca - caly skrypt dziala - tylko ten warning sie wpierd***
utnijcie mi leb - nadal nie wiem jak sformulowac zapytanie aby nie wywalilo tego bledu ![]() |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 300 Pomógł: 1 Dołączył: 22.09.2003 Skąd: Czeladź Ostrzeżenie: (0%) ![]() ![]() |
[php:1:d9f32a6e63]<?php
$sql = "SELECT * FROM konta WHERE useremail_id='$email' AND haslo='$cpass'"; $wynik = @pg_query($sql); $data = @pg_fetch_array ($wynik, 0, PGSQL_ASSOC); ?>[/php:1:d9f32a6e63] jak tylko interesuje cię 0 row to możesz dodać LIMIT 1 do zapytania na końcu. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 0 Dołączył: 16.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
to oczywiscie tylko czesc kodu - ale moze ten limit pomoze
sprawdze to wieczorem i dam znac dzieki tak apropo to jak wy logujecie uzytkownikow do systemu? czy to tajemnica? ![]() |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 0 Dołączył: 16.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
acha hasla szyfruje md5() - to chyba wystarczy zeby zachowac jakotakie bezpieczenstwo
![]() |
|
|
![]()
Post
#10
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
lalas: nie pisz postow jeden pod drugim!! Od tego masz przycisk "Zmień"
mike_mech podal Ci odpowiedz.. jesli haslo sie nie zgadza to postgres nie zwraca zadnego wiersza, wiec nie mozna przejsc do pierwszego znalezionego rekordu. Zatem wystarczy ze sprawdzisz za pomoca pg_num_rows czy zapytanie zwrocilo cos czy nie. Jesli dane beda niepoprawne (user/pass) to funkcja ta zwroci 0, w przeciwnym wypadku 1 (lub wiecej, jesli byloby dwoch userow z takim samym haslem, ale przed tym sie powinienes zabezpieczyc). -------------------- Brak czasu :/
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 0 Dołączył: 16.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
dobra wporzo - dzieki za rady, poprawie sie
narazie |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 08:10 |