![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 25.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
Mam taki kod -> http://wklej.org/id/958619/
Użytkownik przechodząc do mojej aplikacji na Facebooku zostaje przekierowany do tego pliku, który ma na celu pobranie jego podstawowych danych i wpisanie do specjalnej tabeli stworzonej w osobnej bazie danych. Wszystko działałoby prawidłowo, jednak gdy przechodzę do aplikacji, w tabeli powstaje nowy wiersz zupełnie pusty oprócz pola dotyczącego hasła (generowane jest losowo). Na jednym forum dostałem poradę: Cytat "Poczytaj sobie o zasięgu zmiennych w PHP. W Twoim przypadku zmienna $me jest widoczna tylko wewnątrz funkcji getUser(). Zwróć ją sobie z tej funkcji przez 'return $me' i zmień wywołanie funkcji na '$me = getUser($facebook)'. Notabene, to samo dzieje się ze zmienną $facebook - musisz zmienić wywołanie funkcji 'connectToFacebook()' na '$facebook = connectToFacebook();'." " Proponowane zmiany wprowadziłem a w kwestii zasięgu zmiennych dodałem polecenie "global" dla zmiennej $facebook i $me. Efektów nie było, do tabeli nadal trafia pusty wpis. Nie wiem, czy coś robię źle czy ten kod jest niepoprawnie sformułowany, dlatego prosiłbym o Waszą pomoc. Z góry dziękuję. ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Ogólnie to error_reporting(E_ALL) by się przydało ![]() -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 113 Pomógł: 1 Dołączył: 19.02.2007 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
Wywołujesz funkcję
jednak jej deklaracja wygląda tak:
zmień to na:
i powinno grać ![]() edit: nie zauważyłem, że melkorm już odpowiedział ![]() Ten post edytował Mary$ 18.02.2013, 17:18:40 -------------------- Nie ma rzeczy niemożliwych - są tylko czasochłonne i mało opłacalne.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 25.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
Faktycznie, nie dostrzegłem tej luki.
![]() Wrzucam dodatkowo screen parametrów danej tabeli -> http://www.fotosik.pl/pokaz_obrazek/575b0671fdd53ca0.html Co jeszcze mógłbym w tej sprawie zrobić? Ten post edytował tndek 18.02.2013, 17:53:37 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 550 Pomógł: 75 Dołączył: 5.06.2012 Skąd: Lębork Ostrzeżenie: (0%) ![]() ![]() |
dodaj w funkcji registerNewUser kodzik i zobacz czy tablica zawiera podane dane
Po drugie po co aż tak skomplikowanie pisać zapytania? Można się w tych wszystkich cudzysłowiach i apostrofach pogubić ![]()
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 25.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
Dodałem print_r($me); w obrębie funkcji, jednak nic się nie wyświetliło - ani komunikat po uruchomieniu skryptu ani dane w tabeli. W dalszym ciągu następuje pusty wpis. :/
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 113 Pomógł: 1 Dołączył: 19.02.2007 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
a spróbuj zrobić to samo ze zmienną $facebook
Ogólnie Twoja metoda getUser jest tak skonstruowana, że jeżeli połączenie z facebookiem się nie powiodło, to nawet się o tym nie dowiesz ![]() Skoro Twój kod wygląda tak:
To masz w zasadzie 2 opcje: 1. $facebook nie jest true, zatem połączenie nie powiodło się 2. w TRY coś idzie nie tak - sprawdź, czy w error logu nie masz o tym komunikatu -------------------- Nie ma rzeczy niemożliwych - są tylko czasochłonne i mało opłacalne.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 25.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
Dodałem polecenie:
Kod echo $e; po error_logu w celu wypisania ewentualnego błędu (nie mam pewności, czy jest to prawidłowy sposób ). Tym razem próbując uruchomić aplikację otrzymuję komunikat: Cytat OAuthException: An active access token must be used to query information about the current user. ![]() Co ciekawe, do innych czynności jak np. publikowanie postów w imieniu użytkowników access token nie jest wymagany, tym bardziej że logowanie użytkownika do aplikacji następuje poprzez tak skonstruowany link: Kod https://www.facebook.com/dialog/permissions.request?_path=permissions.request&app_id=xxxxx&redirect_uri=http://strona.pl/redirect.html&display=page&response_type=code&perms=publish_actions%2Cemail,offline_access&fbconnect=1&from_login=1&client_id=xxxxxx Natomiast Cytat przekierowuje do całości kodu podanego w pierwszym poście.W jaki sposób zadeklarować w obrębie kodu wymagany access token tak, aby nie naruszać drastycznie jego konstrukcji? Ten post edytował tndek 19.02.2013, 15:35:57 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 11:42 |