Динамические мета-теги PHP для социальных сетей

У меня есть динамический веб-сайт / блог PHP, который отлично работает для получения соответствующей информации из моей базы данных: http://example.com/article.php?id= 'идентификатор строки'

`<?php 
$id = $_GET['id'];
$results = $connect->query("SELECT * FROM main WHERE id = $id");
?>

<?php
while($row=$results->fetch())
{
?>

<!DOCTYPE html>
<html>
<head>
<title><?php echo ($row['headline']) ?></title>`

Приведенный выше код работает нормально, но когда я пытаюсь динамически заполнить метатеги facebook, он не работает:

`<meta property="og:title" content="<?php echo ($row['headline']) ?>" />`

Любая идея, почему эхо данных отлично работает для <title> и т. Д., Но не отражается для метатегов?

FB Open Graph Object Debugger говорит: «Свойство 'og: title' должно быть явно указано, даже если значение может быть выведено из других тегов».


person user3272514    schedule 04.03.2014    source источник
comment
Вы широко уязвимы для атак с использованием SQL-инъекций. Вам необходимо обработать переменные GET, прежде чем передавать их в базу данных. Что-то переопределяет / очищает строку $ между вашим выводом?   -  person JBES    schedule 04.03.2014
comment
@jbes Нет, не верю. Приведенный выше код взят с моей страницы article.php, поэтому, когда кто-то щелкает заголовок в index.php, он попадает на article.php? Id = 'row id этой статьи'   -  person user3272514    schedule 04.03.2014
comment
Можете ли вы предоставить код, который находится между предоставленным вами кодом? С </title> по <meta...>? Причина в том, что содержимое $ row не могло просто «исчезнуть» само по себе. Что-то там произошло.   -  person JBES    schedule 05.03.2014


Ответы (1)


Можете ли вы опубликовать визуализированный HTML-код метатегов facebook? Я думаю, что проблема не в метатегах fb, проверьте цикл while и убедитесь, что эхо тегов fb было внутри цикла

person NguyenNgocPhuong    schedule 04.03.2014
comment
метатеги находятся внутри <head>, а также внутри цикла while. Проблема, я считаю; по какой-то причине эхо отлично работает в <body> <title> <div> <p>, но не может извлекать / заполнять контент в метатегах! - person user3272514; 05.03.2014