Como fazer um trackback em PHP
Já vimos o que é um trackback, como ele funciona e como fazer para manda-lo. Agora vamos receber um trackback.
Não podemos nos esquecer do que é importante para nós. Por exemplo, iremos querer ter pelo menos a url do post que fez uma referencia nossa.
Vamos por a mão na massa...
A URL do nosso trackback é:
http://www.seusite.com.br/trackback.php?id=500
No nosso arquivo trackback.php iremos receber toda a requisição, mas o importante é ter o id, pois somente assim saberemos a qual post pertence. No meu caso eu irei cadastrar num banco de dados, numa tabela especifica somente para isso.
Com isso estaremos aptos a receber trackbacks.
Agora é só fazer as referencias no seu blog e aproveitar
Não podemos nos esquecer do que é importante para nós. Por exemplo, iremos querer ter pelo menos a url do post que fez uma referencia nossa.
Vamos por a mão na massa...
A URL do nosso trackback é:
http://www.seusite.com.br/trackback.php?id=500
No nosso arquivo trackback.php iremos receber toda a requisição, mas o importante é ter o id, pois somente assim saberemos a qual post pertence. No meu caso eu irei cadastrar num banco de dados, numa tabela especifica somente para isso.
<?php
//Precisamos do id do post e queremos no minimo a url de referencia
if (isset($_POST['url']) AND isset($_GET['id'])){
mysql_connect(LOCALHOST,USER,PASSWORD);
mysql_select_db(DB);
$query ="INSERT INTO `trackback` "
."(`id_blog`, `url`, `title`, `excerpt`, `blog_name`)"
." VALUES ("
."'".addslashes($_GET['id'])."',"
."'".$_POST['url']."',"
."'".$_POST['title']."',"
."'".$_POST['excerpt']."',"
."'".$_POST['blog_name']."'"
.")";
$result = mysql_query($query);
if ($result){
$errorn = 0;
}
} else {
//caso não tenhamos o que queremos vamos retornar um erro
$errorn = 1;
$errorm = 'You must include a URL and ID';
}
//Crio a resposta do TrackBack seguindo instruções bem claras
$xml = '<?xml version="1.0" encoding="iso-8859-1"?>';
$xml .= "\n\t".'<response>';
$xml .= "\n\t\t<error>$errorn</error>";
if ($errorn == 1){
$xml .= "\n\t\t<message>$errorm</message>";
}
$xml .= "\n\t".'</response>';
//Mando a resposta para a requisição do trackback, definindo o header como XML...
header('Content-Type: text/xml');
echo ($xml);
?>
Com isso estaremos aptos a receber trackbacks.
Agora é só fazer as referencias no seu blog e aproveitar