Newsgroup: it.comp.www.php
Titolo: click out in file php e database mysql

Cliccando su un link di questo tipo
http://www.miosito.com/out.php?id=1
mi serve che il file out.php, vedendo l' id=1, conti il click generato
e lo aggiunga nel campo hits_out dell' id 1 nel database e reindirizzi gli
utenti verso l' indirizzo contenuto nel campo site_url del database.
Ho provato i file che mi avete sendato ma danno errori di ogni tipo.
Potete aiutarmi?

<?
$con=mysql_connect("localhost","log","psw");
$sel=mysql_select("nome_database");
$sql= "UPDATE nome_tabella SET hits_out=hits_out+1 WHERE id='$id' "
$res=mysql_query($slq) or die ("Non posso eseguire la query.");
$sel=mysql_select("nome_database");
$sql1="SELECT site_url FROM nome_tabella WHERE id='$id'";
$res1=mysql_fetch_array($sql1);
header("location: $res1[site_url]");
?>
Prova cosě!!
Questo č lo script che compone "out.php" e prevede che il dB abbia una
colonna con gli indirizzi (site_url)!
Sono sicuro che esiste una forma piů sintetica, e anzi sarei cuorioso di
vederla, tnx!!
Ciaooo
Anakin

prova cosi;
il link crealo cosi :
contahits.php?url=$url&click=$click&id=$id
pagina contahits:
<?php
$db_host="prova";
$db_login="prova";
$db_pass="prova";
$database="prova";
$link = mysql_connect("$db_host","$db_login","$db_pass")
or die ("Impossibile connettersi al database")   ;
$hits_out ++    ;
$update = "UPDATE siti SET hits_out='$hits_out' WHERE id='$id'";
$query = mysql_db_query($database,$update) ;
header("location:http://".$url);
?>
fammi sapere se funzionaaaaaaaaaaa!!!!!!!!

sendato
Prova a retriare con questo:
<?
	// Il database deve essere cosi' composto:
	// 
	// url		text		
	// count	integer
	// 
	// DEVE esistere un indice creato con
	// 
	// CREATE UNIQUE INDEX click_ndx ON click(url);
	$URL="
http://www.php.net
";
	if (isset($HTTP_GET_VARS["URL"])) 
		$URL=$HTTP_GET_VARS["URL"];
	// Do per scontato che l'utente SAPPIA impostare una
	// connessione. Altrimenti, suggerisco o di assumere
	// un programmatore, o di provare con FORMAT C:, che
	// almeno evita di fare altri danni.
	$conn = mysql_connect(...);
	// E come noto, non basta connect(), ma in mysql uno
	// deve anche selezionare quale DB usare...
	// ...
	mysql_query("INSERT IGNORE INTO clicks (url,count) " .
		    "VALUES ('$URL',0);", $conn);
	mysql_query("UPDATE clicks SET count=count + 1 ".
		    "WHERE url='$URL';");
	Header("Location: $URL");
	print <<< HERE
<HTML>
<HEAD>
<META HTTP-EQUIV="REFRESH" CONTENT="5;$URL">
</HEAD>
<BODY>
Sarete ora reindirizzati a $URL. Se entro cinque secondi non
foste reindirizzati, cliccate <A HREF="$URL">qui</A>.
<HR SIZE=1>
</BODY>
</HTML>
HERE;
?>
Leonardo
-- 
".signature": bad command or file name

 ha scritto nel messaggio
news:F9AN6.9039$Ql3.4...@news.infostrada.it...


SecretMan ha scritto:
&gt; 
&gt; Questo non da errori, manda all\' url indicato, ma non segna il
&gt; click
&gt; nel database :(
&gt; 
&gt; Che casino
&gt; 
&gt; \&quot;jasx\&quot;  ha scritto nel messaggio
&gt; news:F9AN6.9039$Ql3.4...@news.infostrada.it...
&gt; &gt; prova cosi;
&gt; &gt;
&gt; &gt; il link crealo cosi :
&gt; &gt;
&gt; &gt; contahits.php?url=$url&amp;click=$click&amp;id=$id
&gt; &gt;
&gt; &gt; pagina contahits:
&gt; &gt;  &gt; $db_host=\&quot;prova\&quot;;
&gt; &gt; $db_login=\&quot;prova\&quot;;
&gt; &gt; $db_pass=\&quot;prova\&quot;;
&gt; &gt; $database=\&quot;prova\&quot;;
&gt; &gt;
&gt; &gt; $link = mysql_connect(\&quot;$db_host\&quot;,\&quot;$db_login\&quot;,\&quot;$db_pass\&quot;)
&gt; &gt; or die (\&quot;Impossibile connettersi al database\&quot;)   ;
&gt; &gt; $hits_out ++    ;
&gt; &gt;
&gt; &gt; $update = \&quot;UPDATE siti SET hits_out=\'$hits_out\' WHERE
&gt; id=\'$id\'\&quot;;
&gt; &gt;
&gt; &gt; $query = mysql_db_query($database,$update) ;
&gt; &gt;
&gt; &gt; header(\&quot;location:http://\&quot;.$url);
&gt; &gt;
&gt; &gt;
&gt; &gt;
&gt; &gt; ?&gt;
&gt; &gt;
&gt; &gt; fammi sapere se funzionaaaaaaaaaaa!!!!!!!!
&gt; &gt;
&gt; &gt;
&gt; &gt;
&gt; 
&gt; 
&gt; 
Secondo me l\'errore č nel fatto che la variabile $hits_out nasce dal nulla. Va prima estratta.
Prova a modificare cosě:
&lt;?php
$db_host=\&quot;prova\&quot;;
$db_login=\&quot;prova\&quot;;
$db_pass=\&quot;prova\&quot;;
$database=\&quot;prova\&quot;;
$link = mysql_connect(\&quot;$db_host\&quot;,\&quot;$db_login\&quot;,\&quot;$db_pass\&quot;)
or die (\&quot;Impossibile connettersi al database\&quot;)   ;
$query = \&quot;select * from tabella where id=$id\&quot;; //dove tabella č il nome della tua tabella
$res = mysql_db_query($database, $query);
$row = mysql_fetch_array($res);
$hits_n = $row[\'hits_out\'];
$hits_n = $hits_n + 1   ;
$update = \&quot;UPDATE siti SET hits_out= hits_n WHERE
id=\'$id\'\&quot;;
$query = mysql_db_query($database,$update) ;
header(\&quot;location:http://\&quot;.$url);
Fammi sapere se va.
Ciao 
Tremannike
Posted by 
http://www.phpitalia.com