2011-08-01 13 views
5

Zwykle używam tylko apr facebook javascript, ale logowanie zaczęło sprawiać mi kłopot, więc próbuję z api PHP. Jest to wywołanie API w moim nagłówku:Błąd podczas wysyłania prośby o Facebook PHP Api?

<? 
require 'stuff/facebook-php/src/facebook.php'; 

$facebook = new Facebook(array(
    'appId' => 'my app id', 
    'secret' => 'secret', 
)); 

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

uzyskać te wiadomości na mojej stronie:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/content/02/6945202/html/copoetry/index.php:6) in /home/content/02/6945202/html/copoetry/stuff/facebook-php/src/facebook.php on line 37 

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/content/02/6945202/html/copoetry/index.php:6) in /home/content/02/6945202/html/copoetry/stuff/facebook-php/src/facebook.php on line 37 

Czy robię coś źle lub co może być problemem? Dzięki

+0

mmm. i otwierający tag powinien być ThatGuy

Odpowiedz

7

„Nie można wysłać plik cookie sesji - nagłówki już wysłane błąd”

oznacza już wyprowadzane niektóre dane na stronie, a następnie próbował ustawić nagłówki. Nagłówki muszą być wysłane przed każdym wyjściem html.

TAKŻE

"Nie można wysłać plik cookie sesji - nagłówki już wysłane" pochodzi często kiedy plik jest kodowany w UTF-8 z BOM pod Windows. Po przeniesieniu na serwer UNIX, zestawienie komponentów traktowane jest jako tekst i wysyłane przed dowolnym nagłówkiem , który można zdefiniować.

Upewnij się, aby usunąć wszelkie przestrzenie, nowe linie lub inne śmieci przed znacznikiem otwarcie <?php lub po zamknięciu ?>

+0

Czy muszę połączyć się z interfejsem API przed jakimkolwiek kodem? – lisovaccaro

+0

oraz. cokolwiek robisz, wymaga sesji, które z kolei wymagają ustawienia pliku cookie, który nie może być wykonany po tym, jak coś wydrukujesz na stronie. – ThatGuy

+1

Sprawdź, czy posiadasz odpowiedni zestaw kodowania dla plików php: ANSI lub UTF-8 bez LM! – ThatGuy

2

Upewnij się, że nie wyjście dowolny ciąg znaków (łącznie z błędami) przed rozpoczęciem sesji .

Nie używaj ?> jeśli jesteś pewien, że twoja ostatnia linia pliku jest kod php

<?php 
require 'stuff/facebook-php/src/facebook.php'; 

$facebook = new Facebook(array(
    'appId' => 'my app id', 
    'secret' => 'secret', 
)); 

// Get User ID 
$user = $facebook->getUser(); 
Powiązane problemy