Gent.mi
vi sottopongo un problema per vedere se mi aiutate a risolverlo.
Nel mio sito internet ho intenzione di inserire una lista di link a pagine esterne di strutture alberghiere, e voglio che a ogni click, nella tabella relativa del database sia aggiunto 1 al contatore della struttura cliccata, e che in un'altra finestra si apra il sito sempre della struttura cliccata.
Ho organizzato il tutto in questo modo:
1) nella pagina di partenza il codice che segue estrae dal db la lista delle strutture alberghiere interessate e le mette in lista
2) di ogni struttura è estratto dal db l'identificativo, il nome, l'url e il numero di click già effettuati dagli utenti
3) il link è organizzato in maniera tale che trasferisca a un altro file due dati: l'url della struttura e il suo numero identificativo.
Ecco il codice:
Codice PHP:
mysql_select_db($db);
$query = "SELECT id_struttura, nome_struttura, indirizzo_struttura, mail_struttura, numero_click_struttura FROM $tb1 WHERE localita_struttura ='Tresnuraghes'";
$result = mysql_query($query) or die ("Could not execute query: $query. " . mysql_error());
echo ("<ol style=\"list-style:number; margin-top:10px;\">");
while($row = mysql_fetch_array($result))
{
$IS=$row["id_struttura"];
$NS=$row["nome_struttura"];
$IndS=$row["indirizzo_struttura"];
$MS=$row["mail_struttura"];
$NCS=$row["numero_click_struttura"];
echo ("<li style=\"margin-bottom: 10px; font-size: 100%;\">Visita il sito internet di <a class=\"bianco\" target=\"_blank\" href=\"VaiStruttura.php?IndSt=$IndS&IdS=$IS\">$NS</a> <em>[link a una pagina esterna]</em>. Il sito internet di $NS è stato già visitato da $NCS utenti di Spiagge di Sardegna.</li>");
}
echo ("</ol>");
Questo codice funziona benissimo (lo potete vedere in questo indirizzo: http://www.spiaggedisardegna.it/costres.php
I problemi nascono con il codice del file che dovrebbe lavorare con i due dati trasferiti dall'href del codice della pagina di arrivo (href=\"VaiStruttura.php?IndSt=$IndS&IdS=$IS\"). Ecco il codice:
Codice PHP:
<?php
include ("config.php");
include ("table.php");
$url=$IndSt;
$IdStr=$IdS;
$connection = mysql_connect($hostname, $user, $pass) or die ("Unable to connect!");mysql_select_db($db);
$query = "UPDATE $tb1 SET numero_click_struttura = numero_click_struttura + 1 WHERE id_struttura='$IdStr'";
$result = mysql_query($query) or die ("Could not execute query: $query. " . mysql_error());
header("Location:$url");
exit();
?>
Con questo codice recupero i due dati e li "nomino", aggiorno il contatore e reindirizzo l'utente al sito della struttura scelta in un'altra finestra. L'unico problema è che questo codice letteralmente non funziona: l'azione finisce nella pagina che dovrebbe essere solo di passaggio, e il risultato è una pagina bianca e vuota.
Sapreste spiegarmi cosa c'è che non va nel secondo codice? La cosa strana è che in un altro sito, lo stesso codice funziona.
Spero di essere stato chiaro e di essere aiutato.
Vi saluto cordialmente e vi ringrazio in anticipo.
Sandro