Использование Facebook PHP-SDK 3.x для регистрации / входа пользователя с помощью Codeigniter 2.1.0

Просматривая API Facebook, я немного запутался в правильном подходе. Я хочу, чтобы пользователи пропускали регистрацию или автоматически регистрировали их, если они входят в систему через Facebook. Поэтому, если они входят в Facebook, я собираю их идентификатор, адрес электронной почты и создаю запись в своей таблице пользователей.

Если идентификатор уже существует в таблице пользователей, они пропускают автоматическую регистрацию и переходят непосредственно на страницу участников. Это мой код (взятый из примера PHP SDK от Facebook). Когда я запускаю сценарий регистрации, страница отображается как пустая, меня не перенаправляют.

РЕДАКТИРОВАТЬ: кажется, что ошибка возникает сразу после требования, если я использую следующий код, «тест» никогда не печатается.

РЕДАКТИРОВАТЬ: Я использую Codeigniter, и этот скрипт является частью контроллера, не вызовет ли это проблемы с требованием?

require 'http://localhost/facebook-php-sdk-6c82b3f/src/facebook.php';
echo "test";

-

public function signup()
    {   
        require 'http://localhost/facebook-php-sdk-6c82b3f/src/facebook.php';

        // Create our Application instance (replace this with your appId and secret).
        $facebook = new Facebook(array(
          'appId'  => 'xxxxxxxxxxxxxxx',
          'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxx',
        ));

        // Get User ID
        $user = $facebook->getUser();

        // We may or may not have this data based on whether the user is logged in.
        //
        // If we have a $user id here, it means we know the user is logged into
        // Facebook, but we don't know if the access token is valid. An access
        // token is invalid if the user logged out of Facebook.

        if ($user)
        {
            try
            {
                // Proceed knowing you have a logged in user who's authenticated.
                $user_profile = $facebook->api('/me');
            }
            catch (FacebookApiException $e)
            {
                error_log($e);
                $user = null;
            }
        }

        // Login or logout url will be needed depending on current user state.
        if ($user)
        {
            $logoutUrl = $facebook->getLogoutUrl();
        }
        else
        {
            $loginUrl = $facebook->getLoginUrl(array('scope' => 'email'));
            redirect($loginUrl);
        }

        print_r($user_profile);


        $this->load->model("user_model");
        $privileges = 1;
        $loginLocation = ip2long($_SERVER['REMOTE_ADDR']);
        $active = 1;
        $this->user_model->add_user($user_profile->id, $user_profile->name, $user_profile->email, $loginLocation, $privileges, $active);

    }
5
задан bkaid 11 July 2012 в 05:10
поделиться