![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Piszę skrypt rejestracji i ma sprawdzić, czy w bazie danych istnieje już login jaki podał użytkownik oraz czy jest już tam taki e-mail.
Ale działa to źle. Podam: istniejący już login + nowy mail = info o błędzie nowy login + istniejący mail = bez błędu |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 264 Pomógł: 54 Dołączył: 31.08.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
A co z kombinacjami
istniejący już login + istniejący mail nowy login + nowy mail Bo na dobrą sprawę na razie wystarczy ci sprawdzić tylko login ![]() |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 25 Dołączył: 10.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Ten post edytował widmo_91 21.07.2013, 23:38:30 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
@widmo_91
Istniejący login + istniejący mail PRZECHODZI |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 25 Dołączył: 10.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli OK jest jak: nie ma loginu i nie ma email albo jest login i jest email to:
Ten post edytował widmo_91 21.07.2013, 22:55:40 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Nie, nie o to chodzi. Ma być:
Istniejący login + nowy mail = FALSE Nowy login + istniejący mail = FALSE Istniejący login + istniejący mail = FALSE Ten post edytował TursoN 21.07.2013, 22:57:08 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 264 Pomógł: 54 Dołączył: 31.08.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
1.
Cytat istniejący już login + nowy mail = info o błędzie nowy login + istniejący mail = bez błędu 2. Cytat Istniejący login + nowy mail = FALSE Nowy login + istniejący mail = FALSE Zdecyduj się i wypisz wszystkie kombinacje + dla których ma być błąd, a dla których nie Ten post edytował Greg0 21.07.2013, 23:03:21 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Pomyliłem się.
Ma przejść tylko w jednym przypadku - gdy żadna z wartości nie widnieje jeszcze w bazie. Inne opcje mają dać błąd. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 25 Dołączył: 10.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
No to masz odpowiedź w pierwszym moim poście w tym temacie.
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Nie do końca. Jeśli sprawdzę login i nie ma takiego w bazie, to skrypt założy nowe konto, a tymczasem jest jeszcze druga wartość do sprawdzenia, która nie może w tejże bazie być.
istniejący login+nowy mail=FALSE istniejący login+istniejący mail=FALSE nowy login + istniejący mail = FALSE nowy login+nowy mail=TRUE Czyli jeśli przynajmniej jedna z wartości login lub mail istnieje w bazie skrypt ma nie przepuścić tego |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 25 Dołączył: 10.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Rezygnuję z dalszych wyjaśnień, zagadnienie mnie przerosło
![]() |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Wymyśliłem dziwną alternatywę...
Ma to racje bytu? Ten post edytował TursoN 21.07.2013, 23:25:09 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 25 Dołączył: 10.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Wcale nie ma to racji bytu.
Gratuluje udziwnienia zacznijmy od tego, że mysql_query nie zwraca liczby wyników!!! Zwraca zasób i jeżeli zapytanie jest poprawne to zawsze da true, polecam zainteresować się mysql_num_rows() Ten post edytował widmo_91 21.07.2013, 23:39:21 |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Nie założyłem, że mysql_query zwraca liczbę wyników.
Jeśli login nie istnieje $valid++, jeśli mail nie istnieje $valid++ o to chodziło |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 25 Dołączył: 10.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
wiem o co chodziło ale mysql_query dla selecta zawsze zwróci true jeżeli zapytanie jest poprawne a niekoniecznie zapytanie musi zwracać jakieś wyniki.
Napisałeś to samo co 1 poście tylko 3 razy dłużej i 9 razy bardziej skomplikowanie. Poza tym zamiast:
Polecam:
Ten post edytował widmo_91 22.07.2013, 00:03:24 |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Rozwiązanie było jednak banalne...
Ten post edytował TursoN 22.07.2013, 00:03:35 |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 673 Pomógł: 106 Dołączył: 31.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
@TursoN: nadal nie rozumiesz...
Cytat Return Values For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset, mysql_query() returns a resource on success, or FALSE on error. For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc, mysql_query() returns TRUE on success or FALSE on error. The returned result resource should be passed to mysql_fetch_array(), and other functions for dealing with result tables, to access the returned data. Use mysql_num_rows() to find out how many rows were returned for a SELECT statement or mysql_affected_rows() to find out how many rows were affected by a DELETE, INSERT, REPLACE, or UPDATE statement. mysql_query() will also fail and return FALSE if the user does not have permission to access the table(s) referenced by the query. mysql_query -------------------- |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Więc nie działa to tak? Nie sprawdzam ile jest wartości, ale czy istnieje w ogole |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 25 Dołączył: 10.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Ty sprawdzasz czy zapytanie jest poprawne a nie czy istnieje taki login w bazie.
Ja nie wiem jak ty sprawdzasz poprawność swojego kodu :| Powtórzę ostatni raz poprawne rozwiązanie masz w 3 poście w tym temacie. |
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Sprawdzałem wszystkie kombinacje i działa prawidłowo...
Oto cały kod:
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 16.06.2025 - 21:37 |