Qui ricavate il token della vostra FanPage:
https://developers.facebook.com/tools/explorer/v2/ -> versione v.4
e qui fate il debug per prolungare la vita del token
https://developers.facebook.com/tools/debug/accesstoken/
Una serie di codici sperimentati, e quindi funzionanti, di php e css per l'ottimizzazione dei siti web sui motori di ricerca.
token per una FanPage
Nuovo link, visto che Facebook ha aggiornato: https://developers.facebook.com/tools/debug/accesstoken/?access_token=
Ecco il link per ricavare un token facebook per la gestione di una fanpage: https://developers.facebook.com/tools/explorer/417430165101512?method=GET&path=947758185282319%3Ffields%3Daccess_token&version=v2.11 questa la sintesi: 947758185282319?fields=access_token
Ecco il link per ricavare un token facebook per la gestione di una fanpage: https://developers.facebook.com/tools/explorer/417430165101512?method=GET&path=947758185282319%3Ffields%3Daccess_token&version=v2.11 questa la sintesi: 947758185282319?fields=access_token
Unire due pagine facebook
Qui, solo se sei amministratore, se hanno un nome simile
https://www.facebook.com/pages/merge/
e puoi unire dalla più grande alla più piccola
https://www.facebook.com/pages/merge/
e puoi unire dalla più grande alla più piccola
testare siti con nuovi host
Vi segnalo questo link per testare i siti che stiamo spostando su nuovo host:
http://www.thewindowsclub.com/hosts-file-in-windows
http://www.thewindowsclub.com/hosts-file-in-windows
Come impostare dei link dinamici per e-commerce su Adwords
Video molto interessante, utile per chi ha dei siti di commercio elettronico con molti prodotti:
https://www.youtube.com/watch?v=dWsgH9aNytA
https://www.youtube.com/watch?v=dWsgH9aNytA
Test del download degli elementi di una pagina
Oltre a Page test di Google molto utili risultano
PageTest e Pingdom
usati per testare il template Sofani per WP
PageTest e Pingdom
usati per testare il template Sofani per WP
Seo: due siti utili per creare dei contenuti originali
Ecco due siti molto interessanti per trovare degli spunti interessanti per la creazione di contenuti on-line:
https://canonicalized.com/rambler-app/?kw=spigola+pesca&url=&co=it utile per vedere i fattori dominanti dei primi 10 risultati della query inserita
e questo ci suggerisce le varie combinazioni di parole che possiamo avere dalla query inserita:
http://answerthepublic.com/
https://canonicalized.com/rambler-app/?kw=spigola+pesca&url=&co=it utile per vedere i fattori dominanti dei primi 10 risultati della query inserita
e questo ci suggerisce le varie combinazioni di parole che possiamo avere dalla query inserita:
http://answerthepublic.com/
Php MySQl duplicare un record di una tabell con un solo comando
Comando molto utile per duplicare con 3 righe di codice un record presente nella nostra tabella prodotti.
include ("confDB.php");
$db = @mysql_select_db($db_nome, $connessione) or die("Impossibile selezionare il database.");
##########inserimento####################
$est="Duplicato"; $prodotto=$_GET['id_pro'];
$sql = "insert into prodotti (m_categoria, categoria, marca, nome,fila, posto, codice)
SELECT m_categoria, categoria, marca, nome, fila, posto, codice FROM prodotti WHERE id_pro = \"$prodotto\" order by id_pro desc limit 0,1
";
$risultato = @mysql_query($sql,$connessione)
or die("Impossibile eseguire l'interrogazione su catture.");
volendo aggiungere qualcosa possiamo richiamare l'ultimo prodotto inserito, quindi il mio duplicato, e modificare il titolo aggiungendo al nome il prefisso: Duplicato
include ("confDB.php");
$db = @mysql_select_db($db_nome, $connessione) or die("Impossibile selezionare il database.");
##########inserimento####################
$est="Duplicato"; $prodotto=$_GET['id_pro'];
$sql = "insert into prodotti (m_categoria, categoria, marca, nome,fila, posto, codice)
SELECT m_categoria, categoria, marca, nome, fila, posto, codice FROM prodotti WHERE id_pro = \"$prodotto\" order by id_pro desc limit 0,1
";
$risultato = @mysql_query($sql,$connessione)
or die("Impossibile eseguire l'interrogazione su catture.");
volendo aggiungere qualcosa possiamo richiamare l'ultimo prodotto inserito, quindi il mio duplicato, e modificare il titolo aggiungendo al nome il prefisso: Duplicato
Php: creare una copia del DataBase MySql e cancellazione della vecchia copia
Ecco uno script in php che esegue la copia del nostro DataBase MySql
cancella le copie precedenti usando filemtime di php
ed invia una mail
se poi ci mettete un cronjob che avvia il tutto alle 2 di notte il gioco è fatto:
error_reporting(E_ALL);
/* Define database parameters here */
define("DB_USER", 'tuo user');
define("DB_PASSWORD", 'tua pass');
define("DB_NAME", 'nome db');
define("DB_HOST", 'host');
define("OUTPUT_DIR", 'dbBackup'); // Folder / Directory Name
define("TABLES", '*');
/* Instantiate Backup_Database and perform backup */
$backupDatabase = new Backup_Database(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$status = $backupDatabase->backupTables(TABLES, OUTPUT_DIR) ? 'OK' : 'KO';
echo "Backup result: " . $status . "";
##############################################################################
$destinatario="tua mail";
$email="$email";
$web="www.tuosito.it";
$Da="From: $email";
$sitename = "Nome sito";
$oggetto="Copiato DB";
$info="Data base copiato con successo";
$headers .= "From: $sitename <$destinatario>\n";
$headers .= "Reply-To: $destinatario <$destinatario>\n";
mail($destinatario,$oggetto,$info,$headers);
##############################################################################
/* The Backup_Database class */
class Backup_Database {
/* Host where database is located */
var $host = 'localhost';
var $username = 'root';
var $passwd = '';
var $dbName = 'YOUR_DATABASE _NAME';
var $charset = '';
/* Constructor initializes database */
function Backup_Database($host, $username, $passwd, $dbName, $charset = 'utf8') {
$this->host = $host;
$this->username = $username;
$this->passwd = $passwd;
$this->dbName = $dbName;
$this->charset = $charset;
$this->initializeDatabase();
}
protected function initializeDatabase() {
$conn = @mysql_connect($this->host, $this->username, $this->passwd); // Ik Added @ to Hide PDO Error Message
mysql_select_db($this->dbName, $conn);
if (!mysql_set_charset($this->charset, $conn)) {
mysql_query('SET NAMES ' . $this->charset);
}
}
/* Backup the whole database or just some tables Use '*' for whole database or 'table1 table2 table3...' @param string $tables */
public function backupTables($tables = '*', $outputDir = '.') {
try {
/* Tables to export */
if ($tables == '*') {
$tables = array();
$result = mysql_query('SHOW TABLES');
while ($row = mysql_fetch_row($result)) {
$tables[] = $row[0];
}
} else {
$tables = is_array($tables) ? $tables : explode(',', $tables);
}
$sql = 'CREATE DATABASE IF NOT EXISTS ' . $this->dbName . ";\n\n";
$sql .= 'USE ' . $this->dbName . ";\n\n";
/* Iterate tables */
foreach ($tables as $table) {
echo "Backing up " . $table . " table...";
$result = mysql_query('SELECT * FROM ' . $table);
$numFields = mysql_num_fields($result);
$sql .= 'DROP TABLE IF EXISTS ' . $table . ';';
$row2 = mysql_fetch_row(mysql_query('SHOW CREATE TABLE ' . $table));
$sql.= "\n\n" . $row2[1] . ";\n\n";
for ($i = 0; $i < $numFields; $i++) {
while ($row = mysql_fetch_row($result)) {
$sql .= 'INSERT INTO ' . $table . ' VALUES(';
for ($j = 0; $j < $numFields; $j++) {
$row[$j] = addslashes($row[$j]);
// $row[$j] = ereg_replace("\n", "\\n", $row[$j]);
if (isset($row[$j])) {
$sql .= '"' . $row[$j] . '"';
} else {
$sql.= '""';
}
if ($j < ($numFields - 1)) {
$sql .= ',';
}
}
$sql.= ");\n";
}
}
$sql.="\n\n\n";
echo " OK
" . "";
}
} catch (Exception $e) {
var_dump($e->getMessage());
return false;
}
return $this->saveFile($sql, $outputDir);
}
/* Save SQL to file @param string $sql */
protected function saveFile(&$sql, $outputDir = '.') {
if (!$sql)
return false;
try {
$handle = fopen($outputDir . '/db-backup-' . $this->dbName . '-' . date("Ymd-His", time()) . '.sql', 'w+');
fwrite($handle, $sql);
fclose($handle);
} catch (Exception $e) {
var_dump($e->getMessage());
return false;
}
return true;
}
}
?>
##########qui puliamo la cartella dalle vecchie copie impostando la variabile data_o#
if ($handle = opendir('./dbBackup')) {
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != "..") {
$filename = "$entry";
#$data_file=date("Y-m-d", filemtime($filename));
echo "$filename $entry $data_file
";
$ultima_modifica = date ('Y-m-d', filemtime("./dbBackup/$filename"));
echo 'Ultima modifica al file pagina.php: ' . $ultima_modifica."
";
$data_o=date ("Y-m-d",mktime(date("H"),date("i"),0,date("m"),date("d"),date("Y")));
if($data_o!="$ultima_modifica"){unlink("./dbBackup/$filename");}
}
}
closedir($handle);
}
?>
Potete processare il tutto alle 2 di notte lanciando un spider o un cronjob
cancella le copie precedenti usando filemtime di php
ed invia una mail
se poi ci mettete un cronjob che avvia il tutto alle 2 di notte il gioco è fatto:
error_reporting(E_ALL);
/* Define database parameters here */
define("DB_USER", 'tuo user');
define("DB_PASSWORD", 'tua pass');
define("DB_NAME", 'nome db');
define("DB_HOST", 'host');
define("OUTPUT_DIR", 'dbBackup'); // Folder / Directory Name
define("TABLES", '*');
/* Instantiate Backup_Database and perform backup */
$backupDatabase = new Backup_Database(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$status = $backupDatabase->backupTables(TABLES, OUTPUT_DIR) ? 'OK' : 'KO';
echo "Backup result: " . $status . "";
##############################################################################
$destinatario="tua mail";
$email="$email";
$web="www.tuosito.it";
$Da="From: $email";
$sitename = "Nome sito";
$oggetto="Copiato DB";
$info="Data base copiato con successo";
$headers .= "From: $sitename <$destinatario>\n";
$headers .= "Reply-To: $destinatario <$destinatario>\n";
mail($destinatario,$oggetto,$info,$headers);
##############################################################################
/* The Backup_Database class */
class Backup_Database {
/* Host where database is located */
var $host = 'localhost';
var $username = 'root';
var $passwd = '';
var $dbName = 'YOUR_DATABASE _NAME';
var $charset = '';
/* Constructor initializes database */
function Backup_Database($host, $username, $passwd, $dbName, $charset = 'utf8') {
$this->host = $host;
$this->username = $username;
$this->passwd = $passwd;
$this->dbName = $dbName;
$this->charset = $charset;
$this->initializeDatabase();
}
protected function initializeDatabase() {
$conn = @mysql_connect($this->host, $this->username, $this->passwd); // Ik Added @ to Hide PDO Error Message
mysql_select_db($this->dbName, $conn);
if (!mysql_set_charset($this->charset, $conn)) {
mysql_query('SET NAMES ' . $this->charset);
}
}
/* Backup the whole database or just some tables Use '*' for whole database or 'table1 table2 table3...' @param string $tables */
public function backupTables($tables = '*', $outputDir = '.') {
try {
/* Tables to export */
if ($tables == '*') {
$tables = array();
$result = mysql_query('SHOW TABLES');
while ($row = mysql_fetch_row($result)) {
$tables[] = $row[0];
}
} else {
$tables = is_array($tables) ? $tables : explode(',', $tables);
}
$sql = 'CREATE DATABASE IF NOT EXISTS ' . $this->dbName . ";\n\n";
$sql .= 'USE ' . $this->dbName . ";\n\n";
/* Iterate tables */
foreach ($tables as $table) {
echo "Backing up " . $table . " table...";
$result = mysql_query('SELECT * FROM ' . $table);
$numFields = mysql_num_fields($result);
$sql .= 'DROP TABLE IF EXISTS ' . $table . ';';
$row2 = mysql_fetch_row(mysql_query('SHOW CREATE TABLE ' . $table));
$sql.= "\n\n" . $row2[1] . ";\n\n";
for ($i = 0; $i < $numFields; $i++) {
while ($row = mysql_fetch_row($result)) {
$sql .= 'INSERT INTO ' . $table . ' VALUES(';
for ($j = 0; $j < $numFields; $j++) {
$row[$j] = addslashes($row[$j]);
// $row[$j] = ereg_replace("\n", "\\n", $row[$j]);
if (isset($row[$j])) {
$sql .= '"' . $row[$j] . '"';
} else {
$sql.= '""';
}
if ($j < ($numFields - 1)) {
$sql .= ',';
}
}
$sql.= ");\n";
}
}
$sql.="\n\n\n";
echo " OK
" . "";
}
} catch (Exception $e) {
var_dump($e->getMessage());
return false;
}
return $this->saveFile($sql, $outputDir);
}
/* Save SQL to file @param string $sql */
protected function saveFile(&$sql, $outputDir = '.') {
if (!$sql)
return false;
try {
$handle = fopen($outputDir . '/db-backup-' . $this->dbName . '-' . date("Ymd-His", time()) . '.sql', 'w+');
fwrite($handle, $sql);
fclose($handle);
} catch (Exception $e) {
var_dump($e->getMessage());
return false;
}
return true;
}
}
?>
##########qui puliamo la cartella dalle vecchie copie impostando la variabile data_o#
if ($handle = opendir('./dbBackup')) {
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != "..") {
$filename = "$entry";
#$data_file=date("Y-m-d", filemtime($filename));
echo "$filename $entry $data_file
";
$ultima_modifica = date ('Y-m-d', filemtime("./dbBackup/$filename"));
echo 'Ultima modifica al file pagina.php: ' . $ultima_modifica."
";
$data_o=date ("Y-m-d",mktime(date("H"),date("i"),0,date("m"),date("d"),date("Y")));
if($data_o!="$ultima_modifica"){unlink("./dbBackup/$filename");}
}
}
closedir($handle);
}
?>
Potete processare il tutto alle 2 di notte lanciando un spider o un cronjob
Scoprie ip con php via curl json
$URL="http://api.ipinfodb.com/v3/ip-city/?key=tuakey&ip=$ip&format=json";
#####per la citta ip-city##############
#echo"$URL
";
$URL = rawurldecode($URL);
$URL = stripslashes($URL);
// make sure curl is installed
if (function_exists('curl_init')) {
// initialize a new curl resource
$ch = curl_init();
// set the url to fetch
curl_setopt($ch, CURLOPT_URL, $URL);
// don't give me the headers just the content
curl_setopt($ch, CURLOPT_HEADER, 0);
// return the value instead of printing the response to browser
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// use a user agent to mimic a browser
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0');
$content = curl_exec($ch);
#echo $content;
// remember to always close the session and free all resources
curl_close($ch);
} else {
// curl library is not installed so we better use something else
}
#####################################################################
$json=$content;
$obj = json_decode($json);
$regionName=$obj->{'regionName'}; // 12345
$cityName=$obj->{'cityName'}; // 12345
echo"#$regionName#";
#####per la citta ip-city##############
#echo"$URL
";
$URL = rawurldecode($URL);
$URL = stripslashes($URL);
// make sure curl is installed
if (function_exists('curl_init')) {
// initialize a new curl resource
$ch = curl_init();
// set the url to fetch
curl_setopt($ch, CURLOPT_URL, $URL);
// don't give me the headers just the content
curl_setopt($ch, CURLOPT_HEADER, 0);
// return the value instead of printing the response to browser
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// use a user agent to mimic a browser
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0');
$content = curl_exec($ch);
#echo $content;
// remember to always close the session and free all resources
curl_close($ch);
} else {
// curl library is not installed so we better use something else
}
#####################################################################
$json=$content;
$obj = json_decode($json);
$regionName=$obj->{'regionName'}; // 12345
$cityName=$obj->{'cityName'}; // 12345
echo"#$regionName#";
Iscrizione diretta da sito alla newsletters di MailUp Api
Con curl e php è molto facile far iscrivere un cliente alla newsletters di MailUp, ecco il codice:
$url="http://[tuo_admin_url]/frontend/subscribe.aspx?idMsg=2&idList=1&email=luca@icewebsolution.it&confirm=false";
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
// curl_setopt($ch,CURLOPT_HEADER, false);
$output=curl_exec($ch);
curl_close($ch);
return $output;
?>
comodo anche nel modulo della registrazione.
$url="http://[tuo_admin_url]/frontend/subscribe.aspx?idMsg=2&idList=1&email=luca@icewebsolution.it&confirm=false";
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
// curl_setopt($ch,CURLOPT_HEADER, false);
$output=curl_exec($ch);
curl_close($ch);
return $output;
?>
comodo anche nel modulo della registrazione.
Php e curl per compilare in automatico un form
Semplice codice curl+php per compilare un form in automatico, da usare con parsimonia:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/path/to/form");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);
$data = array(
'foo' => 'foo foo foo',
'bar' => 'bar bar bar',
'baz' => 'baz baz baz'
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$output = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
usato per postare in automatico su Pinterest
Il totale dei like, share e commenti del nostro sito su Facebook
Per chi vuole conoscere un po' di dati del nostro sito su Facebook, https://api.facebook.com/method/links.getStats?urls=%%URL%%&format=json
Controllare i dati del nostro Access token di Facebook, dopo offline_access. Debug url
Ho pensato di creare un'app per le mie numerose FanPage, ad oggi ne gestisco oltre 30, che posta in automatico quello che io gli comando. Nel pensare mi è sorto un dubbio, ma l'access_token di FB ogni quanto scade? Perchè se scade tra due settimane la mia app si blocca, come è successo con offline_access e quindi?
Una volta ricavato il nostro Access token vediamo a questo link: https://developers.facebook.com/tools/debug/accesstoken tutti i dati che ci servono, per non sbagliare.
e cosa ci dice per la scadenza del nostro token -> Never
Per ora questo, ho impostato l'app, vediamo se funziona, dovrebbe postare alle 22.01 di ogni giorno! Dovrebbe!
Ufficialmente funziona lo script lo lanciamo con Webcron e quindi postiamo 12 prodotti di Ebay su ogni FanPage.
Aggiorno a primi di luglio che con il comando grant_type=fb_exchange_token (che mi amplia la durata del token) sembra fuzionare, quindi la richiesta per il token sarà:
&scope=publish_stream,read_insights,manage_pages,Cread_stream&grant_type=fb_exchange_token
Se poi volete controllare se voi o un vostro utente ha settato bene i permessi per la nostra app, chiamiamo con fql:
$fan_count_obj = simplexml_load_file("https://api.facebook.com/method/fql.query?access_token=$token&format=xml&query=SELECT%20publish_stream%20FROM%20permissions%20WHERE%20uid%20%3D%20me()");
$permission = $fan_count_obj->permissions->publish_stream;
E con lo stesso link: https://developers.facebook.com/tools/debug/ possiamo vedere se la struttura del nostro link è esatto per Facebook.
Una volta ricavato il nostro Access token vediamo a questo link: https://developers.facebook.com/tools/debug/accesstoken tutti i dati che ci servono, per non sbagliare.
e cosa ci dice per la scadenza del nostro token -> Never
Per ora questo, ho impostato l'app, vediamo se funziona, dovrebbe postare alle 22.01 di ogni giorno! Dovrebbe!
Ufficialmente funziona lo script lo lanciamo con Webcron e quindi postiamo 12 prodotti di Ebay su ogni FanPage.
Aggiorno a primi di luglio che con il comando grant_type=fb_exchange_token (che mi amplia la durata del token) sembra fuzionare, quindi la richiesta per il token sarà:
&scope=publish_stream,read_insights,manage_pages,Cread_stream&grant_type=fb_exchange_token
Se poi volete controllare se voi o un vostro utente ha settato bene i permessi per la nostra app, chiamiamo con fql:
$fan_count_obj = simplexml_load_file("https://api.facebook.com/method/fql.query?access_token=$token&format=xml&query=SELECT%20publish_stream%20FROM%20permissions%20WHERE%20uid%20%3D%20me()");
$permission = $fan_count_obj->permissions->publish_stream;
E con lo stesso link: https://developers.facebook.com/tools/debug/ possiamo vedere se la struttura del nostro link è esatto per Facebook.
Istagram api le foto di un profilo
Per chi vuole pubblicare le foto del proprio profilo o di un proprio cliente:
https://api.instagram.com/v1/users/id_user/media/recent/?client_id=tuo_id_key che prendi qui: http://instagram.com/developer/clients/manage/#
L'id_user lo ricaviamo da qui:
https://api.instagram.com/v1/users/id_user/media/recent/?client_id=tuo_id_key che prendi qui: http://instagram.com/developer/clients/manage/#
L'id_user lo ricaviamo da qui:
https://api.instagram.com/v1/users/search?q=nomeuser&client_id=tuo_id_key
il tutto lo passiamo con curl e json
Buon divertimento con queste api
Google Place API in xml e json e lista delle categorie.
Ed ecco il codice per interrogare google place, ristoranti a Fiumicino:
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=41.770364,12.221129&radius=5000&types=food&sensor=false&key=tuakey
Hotel a Fiumicino
https://maps.googleapis.com/maps/api/place/nearbysearch/xml?location=41.770364,12.221129&radius=5000&types=lodging&sensor=false&key=tuakey in questo caso i risultati sono in xml
Qui trovate l'elenco delle categorie presenti: https://developers.google.com/places/documentation/supported_types
i risultati sono ad una distanza, radius, di 5km.
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=41.770364,12.221129&radius=5000&types=food&sensor=false&key=tuakey
Hotel a Fiumicino
https://maps.googleapis.com/maps/api/place/nearbysearch/xml?location=41.770364,12.221129&radius=5000&types=lodging&sensor=false&key=tuakey in questo caso i risultati sono in xml
Qui trovate l'elenco delle categorie presenti: https://developers.google.com/places/documentation/supported_types
i risultati sono ad una distanza, radius, di 5km.
Api expedia hotel in base alla latitudine e longitudine
Ecco il codice Api di Expedia che visualizza gli hotel in base alla lotitudine e longitudine inserita:
http://api.ean.com/ean-services/rs/hotel/v3/list?minorRev=99&apiKey=xxxxxxxxx&cid=443449&locale=it_IT&numberOfResults=3&searchRadius=50&supplierCacheTolerance=MED_ENHANCED&arrivalDate=09/04/2014&departureDate=09/05/2014&room1=2&latitude=47.6062&longitude=-122.3321
Da notare che sono stati inseriti il giorno di arrivo ed uno di partenza.
http://api.ean.com/ean-services/rs/hotel/v3/list?minorRev=99&apiKey=xxxxxxxxx&cid=443449&locale=it_IT&numberOfResults=3&searchRadius=50&supplierCacheTolerance=MED_ENHANCED&arrivalDate=09/04/2014&departureDate=09/05/2014&room1=2&latitude=47.6062&longitude=-122.3321
Da notare che sono stati inseriti il giorno di arrivo ed uno di partenza.
api: short url, minuscolo e anche personalizzato
Per chi non voglia di lavorare con Goo.gl ecco un api per avere uno short url personalizzato e minuscolo.
Formato json:
http://is.gd/create.php?format=json&url=www.itineraridipesca.it/scheda_cattura.php?cattura=254&shorturl=xxxxppidpx
Formato xml:
http://is.gd/create.php?format=xml&url=www.itineraridipesca.it/scheda_cattura.php?cattura=254&shorturl=xxxxppidpx
Da leggere con una chiamata curl, tipo questa:
$ch = curl_init();
// Disable SSL verification
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
// Will return the response, if false it print the response
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Set the url
curl_setopt($ch, CURLOPT_URL,$url);
// Execute
$result=curl_exec($ch);
// Will dump a beauty json :3
#var_dump($result);
$json = json_decode($result);
$errorcode=$json->errorcode;
$shorturl=$json->shorturl;
Formato json:
http://is.gd/create.php?format=json&url=www.itineraridipesca.it/scheda_cattura.php?cattura=254&shorturl=xxxxppidpx
Formato xml:
http://is.gd/create.php?format=xml&url=www.itineraridipesca.it/scheda_cattura.php?cattura=254&shorturl=xxxxppidpx
Da leggere con una chiamata curl, tipo questa:
$ch = curl_init();
// Disable SSL verification
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
// Will return the response, if false it print the response
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Set the url
curl_setopt($ch, CURLOPT_URL,$url);
// Execute
$result=curl_exec($ch);
// Will dump a beauty json :3
#var_dump($result);
$json = json_decode($result);
$errorcode=$json->errorcode;
$shorturl=$json->shorturl;
Geo Localizzazione e marketing
Grazie a questa chiamata API:
http://api.ipinfodb.com/v3/ip-city/?key=tua api kei&ip=$ip&format=xml è possibile ricavare la città di provenienza del visitatore e proporre una pubblicità mirata in base al luogo di provenienza.
Usata su Itineraridipesca.it per promuovere l'iscrizione alla newsletters dei nostri laghi ai soli utenti di Roma, visto che i nostri laghi sono nella provincia di Roma
http://api.ipinfodb.com/v3/ip-city/?key=tua api kei&ip=$ip&format=xml è possibile ricavare la città di provenienza del visitatore e proporre una pubblicità mirata in base al luogo di provenienza.
Usata su Itineraridipesca.it per promuovere l'iscrizione alla newsletters dei nostri laghi ai soli utenti di Roma, visto che i nostri laghi sono nella provincia di Roma
Ricavare le lettere dell'alfabeto con una funzioncina di php
utile per scremare una lista di prodotti e/o notizie:
echo"Riduci per:";
foreach (range('A', 'Z') as $letter)
echo"$letter - ";
?>
echo"Riduci per:";
foreach (range('A', 'Z') as $letter)
echo"$letter - ";
?>
Iscriviti a:
Post (Atom)