inanzitutto grazie mille per la disponibilità e per la pazienza che hai avuto con me,

certamente non sei te che ci metti tanto a capire, ma sono sicuramente io che essendo alle prime armi non mi sò spiegare molto bene...

Ho letto il link che mi hai dato e l'ho trovato molto interessante, probabolmente adotterò quella soluzione, però mentre aspettavo la tua risposta mi è venuta in mente un'idea che ho messo in pratica e devo dire che funziona abbastanza bene:
codice:
function salva(){
	global $conn, $id;
	
	$titolo=$_POST['titolo'];
	$desc=$_POST['desc'];
	
	if($id==0)
		
	{
		$sql_cerca="select * from home where home_title = '".$titolo."' ";
		$dati_cerca=mysql_query($sql_cerca,$conn);
		$cerca=mysql_num_rows($dati_cerca);
		if($cerca <1)
		{
	$sql='insert into home(home_title, home_desc) values("'.$titolo.'","'.$desc.'")';
	mysql_query($sql, $conn);
	$output= 'Il contenuto è stato inserito correttamente.

Inserisci nuovo contenuto

Torna alla lista';	
	}
		
	else {$output= 'Il contenuto è stato inserito correttamente.

Inserisci nuovo contenuto

Torna alla lista';}

		}
		
		else
			{
			$sql='update home set home_title="'.$titolo.'",home_desc="'.$desc.'" where port_id="'.$id.'" ';	
			mysql_query($sql, $conn);
			
$output= 'Il contenuto è stato aggiornato correttamente.

Inserisci nuovo contenuto

Torna alla lista';
			}	
	return($output);

	}
i dati sono raccolti da un piccolo form posizionato in un'altra funtion che mi richiama questa function con una action...
cosi messa la funzione mi protegge dall'inserimento di un duplicato, dato che la cosa primaria in questo caso è il titolo, quindi non avrebbe senso inserire un nuovo articolo con il solito titolo, e in più mi permette anche di fare l'update nel caso in cui la voglia modificare e mi protegge anche da un'eventuale (f5) una volta conclusa la funzione....

Cosa ne pensi di questa soluzione? è completamente da scartare o no?