![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 116 Pomógł: 0 Dołączył: 14.01.2004 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Jak w tytule. Wyskakuje mi error. Rozumiem, że funkcja do której się odwołuje operuje na obiektach, a to co jej podałem nie jest obiektem. Chciał bym, żeby ten kod sprawdzał, czy istnieje w bazie użytkownik i w zależności od wyniku robił jedno lub drugie. Normalnie pewnie uporał bym się z tym już dawno, ale od dzisiaj poznaję uroki PDO, i kombinuje bardziej w tą stronę. Niestety w tym przypadku z marnym skutkiem. Ten kod jest częścią większej klasy służącej do rejestracji userów, jednak wcześniejszy kod działa bez problemu (łączenie z bazą danych i wyświetlanie zapisanych w niej danych śmiga bez problemu) dopiero tutaj się sypie. Może ktoś pomoże rozwiązać mi ten problem, albo chociaż podrzuci jakieś wskazówki czym się zainteresować przy rozwiązywaniu tego problemu, bo puki co jest to dla mnie nie do przeskoczenia (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) (klasami i obiektami zainteresowałem się tak naprawdę dopiero dzisiaj (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ) pozdrawiam Ten post edytował rozny 24.03.2009, 22:21:53 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 116 Pomógł: 0 Dołączył: 14.01.2004 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Chyba nie będzie tak łatwo jak myślałem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Przede wszystkim, żebym mógł cokolwiek zrobić z danymi przekazanymi postem, muszę trzymać je w takiej postaci: '\''.$_POST[login].'\'' . Inaczej dane nie są w ogóle widoczne wewnątrz klasy. Trochę to dziwne jak dla mnie, ale jeszcze nie odkryłem sztuczki na to, żeby wewnątrz klasy zamienić te "krzaki" na prostą zmienną $login. Dalej, rozumiem że klasę dla PDO, trzeba tworzyć za każdym razem? Ja przykleiłem do początku kodu plik, w którym łączę się z bazą danych i tam już miałem zdefiniowany obiekt $pdo, ale przykleiłem to poza definicją klasy. Rozumiem, że to mi nic nie daje, bo wewnątrz klasy ta zmienna i tak nie jest widoczna (nadałem zmiennej $pdo status global, ale nic mi to nie dało)? Przystosowałem twój kod do swoich danych, ale za każdym razem wyświetla mi "Istnieje już użytkownik o loginie...", nie ważne co wpisze w formularzu. Sorry za takie lamerskie pytania, ale dopiero dzisiaj postanowiłem zmienić swoje durne przyzwyczajenia kodowania (masa syfu, zero klas i obiektów i takie tam co chwile powtarzane błędy (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ). Co do lektury - właśnie z tej wikiksiążki korzystam od początku dzisiaj (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Inaczej chyba w ogóle bym tego nie ogarnął (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 217 Pomógł: 23 Dołączył: 2.12.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cytat Przede wszystkim, żebym mógł cokolwiek zrobić z danymi przekazanymi postem, muszę trzymać je w takiej postaci: '\''.$_POST[login].'\'' . Inaczej dane nie są w ogóle widoczne wewnątrz klasy. Trochę to dziwne jak dla mnie, ale jeszcze nie odkryłem sztuczki na to, żeby wewnątrz klasy zamienić te "krzaki" na prostą zmienną $login. A nie możesz przekazać parametrów do funkcji? (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Fakt, tablica $_POST jest globalną, więc jest widoczna w każdym miejscu kodu. Jednak to rozwiązanie mało elastyczne, dlatego przekaż po prostu funkcji argumenty Np:
Cytat Dalej, rozumiem że klasę dla PDO, trzeba tworzyć za każdym razem? Ja przykleiłem do początku kodu plik, w którym łączę się z bazą danych i tam już miałem zdefiniowany obiekt $pdo, ale przykleiłem to poza definicją klasy. Rozumiem, że to mi nic nie daje, bo wewnątrz klasy ta zmienna i tak nie jest widoczna (nadałem zmiennej $pdo status global, ale nic mi to nie dało)? Przystosowałem twój kod do swoich danych, ale za każdym razem wyświetla mi "Istnieje już użytkownik o loginie...", nie ważne co wpisze w formularzu. Nie. Poczytaj sobie o wzrocu Singleton lub Registry. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 22:14 |