Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [inne][php] problem z aplikacją na facebooka
-poziomka665-
post 23.06.2012, 13:10:26
Post #1





Goście







Ktoś tutaj dobrze ogarnia aplikacje na facebooku? Mogę trochę zapłacić za pomoc w procesie tworzenia mojej własnej aplikacji.
Dostaje taki error:
Kod
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/dyzimier/domains/bon-kfc.pl/public_html/index.php on line 56

Co może być źle? Myślę że to jakiś problem z pobieraniem danych użytkownika z facebooka, może problem z pozwoleniem?
Kod
<?php
session_start();



mysql_connect('localhost', 'dyzimier_appdmin', 'senso');
mysql_select_db('dyzimier_app');

# require library
require("facebook.php");

# Creating the facebook object
$facebook = new Facebook(array(
            'appId' => '390689170979338',
            'secret' => 'e3b443a146c28a25bdbdc5da71bbbb8e',
            'cookie' => true
        ));

# check active session
$session = $facebook->getUser();


if (!empty($session)) {
    # session active, get user id (getUser()) and user info (api->('/me'))
try {
        $uid = $facebook->getUser();
        $fb_access_token=$session['access_token'];
$params = array(
  'scope' => 'status_update,publish_stream',
  'redirect_url' => 'https://www.bon-kfc.pl/'
);
$Url = $facebook->getLoginUrl($params);
        $user = $facebook->api('/me');
        $photolink = 'http://graph.facebook.com/'.$user['id'].'/picture?type=square';
        $param = array(
            'method' => 'users.getInfo',
            'uids' => uid,
            'fields' => 'pic_big'
        );
        $users_getinfo = $facebook->api($param);
} catch (Exception $e) {

    }
    

    if (!empty($user)) {
        # active session, check if already registered the user
        $query = mysql_query("SELECT * FROM users WHERE oauth_provider = 'facebook' AND oauth_uid = " . $user['id']);
        $result = mysql_fetch_array($query);


        # If not, add it to the database
        if (empty($result)) {
           $query = mysql_query("INSERT INTO users (oauth_uid, oauth_provider, username, first_name, last_name, email, pic_square) VALUES ('facebook', {$user['id']}, '{$user['name']}', '{$user['first_name']}', '{$user['last_name']}','{$user['email']}', '".$photolink."')");
            $query = mysql_query("SELECT * FROM users WHERE id = " . mysql_insert_id());
            $result = mysql_fetch_array($query);
        }


        // variables in the session
        $_SESSION['id'] = $result['id'];
        $_SESSION['oauth_uid'] = $result['oauth_uid'];
        $_SESSION['oauth_provider'] = $result['oauth_provider'];
        $_SESSION['username'] = $result['username'];
    } else {
        # if error, kill the script
        die("There was an error.");
    }


} else {
$params = array(
  'scope' => 'status_update,publish_stream',
  'redirect_url' => 'https://www.bon-kfc.pl/'
);
    # no active session, generate one
    $login_url = $facebook->getLoginUrl($params);
    header("Location: " . $login_url);
}

?>

Proszę o szybką pomoc. Mój skype to Rasacz
Mam kilka pomysłów na aplikacje a jeśli pomożesz mi je stworzyć to będziesz miał w tym swój zysk.
Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
lobopol
post 23.06.2012, 13:16:47
Post #2





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


Masz błąd w jednym z zapytań sql, wyświetl je sobie i zobacz czy nie masz literówki, niezamkniętego cudzysłowu etc.


--------------------
Go to the top of the page
+Quote Post
Posio
post 23.06.2012, 13:52:07
Post #3





Grupa: Zarejestrowani
Postów: 417
Pomógł: 44
Dołączył: 23.06.2011

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


Chłopie, nie dość że z olawszy rejestracje, nie potrafisz wstawić w odpowiednie tagi odpowiedniego kodu ? Skąd niby mamy wiedzieć która linijka jest która ?. Mimo to moge powiedzieć z góry że wstawiłeś prawdopodobnie złą zmienną w złe miejsce.
Go to the top of the page
+Quote Post
-poziomek-
post 23.06.2012, 14:37:29
Post #4





Goście







Oto kod:
  1. <?php
  2.  
  3.  
  4.  
  5. mysql_connect('localhost', 'dyzimier_appdmin', 'senso');
  6. mysql_select_db('dyzimier_app');
  7.  
  8. # require library
  9. require("facebook.php");
  10.  
  11. # Creating the facebook object
  12. $facebook = new Facebook(array(
  13. 'appId' => '390689170979338',
  14. 'secret' => 'e3b443a146c28a25bdbdc5da71bbbb8e',
  15. 'cookie' => true
  16. ));
  17.  
  18. # check active session
  19. $session = $facebook->getUser();
  20.  
  21.  
  22. if (!empty($session)) {
  23. # session active, get user id (getUser()) and user info (api->('/me'))
  24. try {
  25. $uid = $facebook->getUser();
  26. $fb_access_token=$session['access_token'];
  27. $params = array(
  28. 'scope' => 'status_update,publish_stream',
  29. 'redirect_url' => 'https://www.bon-kfc.pl/'
  30. );
  31. $Url = $facebook->getLoginUrl($params);
  32. $user = $facebook->api('/me');
  33. $photolink = 'http://graph.facebook.com/'.$user['id'].'/picture?type=square';
  34. $param = array(
  35. 'method' => 'users.getInfo',
  36. 'uids' => uid,
  37. 'fields' => 'pic_big'
  38. );
  39. $users_getinfo = $facebook->api($param);
  40. } catch (Exception $e) {
  41.  
  42. }
  43.  
  44.  
  45. if (!empty($user)) {
  46. # active session, check if already registered the user
  47. $query = mysql_query("SELECT * FROM users WHERE oauth_provider = 'facebook' AND oauth_uid = " . $user['id']);
  48. $result = mysql_fetch_array($query);
  49.  
  50.  
  51. # If not, add it to the database
  52. if (empty($result)) {
  53. $query = mysql_query("INSERT INTO users (oauth_uid, oauth_provider, username, first_name, last_name, email, pic_square) VALUES ('facebook', {$user['id']}, '{$user['name']}', '{$user['first_name']}', '{$user['last_name']}','{$user['email']}', '".$photolink."')");
  54. $query = mysql_query("SELECT * FROM users WHERE id = " . mysql_insert_id());
  55. $result = mysql_fetch_array($query);
  56. }
  57.  
  58.  
  59. // variables in the session
  60. $_SESSION['id'] = $result['id'];
  61. $_SESSION['oauth_uid'] = $result['oauth_uid'];
  62. $_SESSION['oauth_provider'] = $result['oauth_provider'];
  63. $_SESSION['username'] = $result['username'];
  64. } else {
  65. # if error, kill the script
  66. die("There was an error.");
  67. }
  68.  
  69.  
  70. } else {
  71. $params = array(
  72. 'scope' => 'status_update,publish_stream',
  73. 'redirect_url' => 'https://www.bon-kfc.pl/'
  74. );
  75. # no active session, generate one
  76. $login_url = $facebook->getLoginUrl($params);
  77. header("Location: " . $login_url);
  78. }
  79.  
  80. ?>

Nikt nie chce zarobić za pomoc? sad.gif
Go to the top of the page
+Quote Post
!*!
post 23.06.2012, 14:51:15
Post #5





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Umieść ogłoszenie w dziale Oferty. Poza tym te zapytania są moim zdaniem źle napisane.

  1. $query = mysql_query("INSERT INTO users (oauth_uid, oauth_provider, username, first_name, last_name, email, pic_square) VALUES ('facebook', {$user['id']}, '{$user['name']}', '{$user['first_name']}', '{$user['last_name']}','{$user['email']}', '".$photolink."')"); // zwracasz tu na pewno zmienną $photolink?
  2.  
  3. $query = mysql_query("SELECT * FROM users WHERE id = " . mysql_insert_id()); // tutaj na pewno jest przypisywany id?


Przepisz to na PDO, nie dość że będzie bardziej czytelne, to później nie będziesz musiał tego modyfikować przy migracji na nowsze wersje PHP.

Ten post edytował !*! 23.06.2012, 14:52:28


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Posio
post 23.06.2012, 14:59:26
Post #6





Grupa: Zarejestrowani
Postów: 417
Pomógł: 44
Dołączył: 23.06.2011

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


tak jak wyżej, dział oferty... Myślisz że wszyscy ludzie są tak pazerni że pomogą tylko za "zarobek" ? Nie ma nawet jak do Cb PW napisać. BTW. ktoś podrzuci Ci rozwiązanie a ty znikniesz, nawet sladu nazwy użytkownika po tobie nie będzie smile.gif
Go to the top of the page
+Quote Post
-poziomek-
post 23.06.2012, 15:29:17
Post #7





Goście







Jestem początkujący, na pewno tu wrócę ale potrzebuje tego na szybko. Nie wiem ile taka pomoc jest warta ale kilka dolców za jedną naprawę kodu mogę dać - na piwo będzie. Mój skype to Rasacz
Go to the top of the page
+Quote Post
lobopol
post 23.06.2012, 15:44:19
Post #8





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


Błąd masz najpewniej tutaj:
  1. $query = mysql_query("SELECT * FROM users WHERE id = " . mysql_insert_id());

Zrób sobie przed:
  1. die("SELECT * FROM users WHERE id = " . mysql_insert_id());

i wklej wynik np. w phpmy_admina i zobacz co zwróci
obstawiam, że
  1. "INSERT INTO users (oauth_uid, oauth_provider, username, first_name, last_name, email, pic_square) VALUES ('facebook', {$user['id']}, '{$user['name']}', '{$user['first_name']}', '{$user['last_name']}','{$user['email']}', '".$photolink."')"

Zawiera błąd i select po nim nie dostaje mysql_insert_id() tylko false


--------------------
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 25.07.2025 - 10:07