Разметка страницы с графиком Facebook-API [дубликат]

Я думаю, что это должно сделать трюк. Я просто добавил if(isset и добавил конкатенацию к переменным в теле, чтобы отделить PHP от HTML.

<?php
    $name = $_POST['name'];
    $email = $_POST['email'];
    $message = $_POST['message'];
    $from = 'From: yoursite.com'; 
    $to = 'contact@yoursite.com'; 
    $subject = 'Customer Inquiry';
    $body = "From:" .$name."\r\n E-Mail:" .$email."\r\n Message:\r\n" .$message;

if (isset($_POST['submit'])) 
{
    if (mail ($to, $subject, $body, $from)) 
    { 
        echo '<p>Your message has been sent!</p>';
    } 
    else 
    { 
        echo '<p>Something went wrong, go back and try again!</p>'; 
    }
}

?>
3
задан ITS.Picasso 31 March 2016 в 18:34
поделиться

2 ответа

Это то, что я всегда использовал. Вы всегда можете использовать цикл - это функция, изменяя переменную $ likes в $ data parameter и проходящую через другие вызовы GraphEdge через функцию.

$getPages = $this->fb->get('/me/likes?limit=100');
$likes = $getPages->getGraphEdge();

$totalLikes = array();

        if ($this->fb->next($likes)) {  
            $likesArray = $likes->asArray();
            $totalLikes = array_merge($totalLikes, $likesArray); 
            while ($likes = $this->fb->next($likes)) { 
                $likesArray = $likes->asArray();
                $totalLikes = array_merge($totalLikes, $likesArray);
            }
        } else {
            $likesArray = $likes->asArray();
            $totalLikes = array_merge($totalLikes, $likesArray);
        }

        return $totalLikes;
4
ответ дан alditis 21 August 2018 в 15:11
поделиться
  • 1
    Каким типом объекта являются ваши $ data? Я реализовал это, но это, по-видимому, не отличается от моей реализации. Если имеется более одной страницы, она застревает в бесконечном цикле. Кажется, что $ fb- & gt; next ($ data) всегда имеет "next" если существует более одной страницы. – ITS.Picasso 31 March 2016 в 15:23
  • 2
    Выньте свой цикл while и измените свой код, чтобы использовать эти 2 строки. Посмотрите ответ на изменения – Juakali92 31 March 2016 в 15:29
  • 3
    обновите свой вопрос с помощью кода, который вы пробовали – Juakali92 31 March 2016 в 15:57
  • 4
    также я оставил символ $ data после вызова while. Измените это на $ like. Моя вина – Juakali92 31 March 2016 в 16:00
  • 5
    Я добавил свой последний код в начало оригинального сообщения. Счетчик внутри цикла while повторно печатает "100" снова и снова, как будто он перебирает ту же страницу бесконечно. У меня только 115 пользователей на этой тестовой учетной записи, поэтому ей нужно всего лишь перебирать две страницы. – ITS.Picasso 31 March 2016 в 16:02

Или простой способ:

do {
    foreach ($response->asArray() as $item){
        //do something with it
    }
} while($response = $facebookApp->next($response));
0
ответ дан Alborq 21 August 2018 в 15:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: