Hola pues para aclarar la segunda parte de tu pregunta creo que lo que deberias hacer es poner en alguna columna una LLAVE PRIMARIA, para que evites que este se repita, entonces antes de que mandes a meter los datos lo que necesitas hacer es una comparacion de si existe.
Código PHP:
$sql="SELECT dato_no_repita FROM datos where datos_no_repita=$_POST['datos (o cuialquiera de ellos)']";
$show=mysql_fetch_array($sql);
if ($show==0)//no existe el dato
{
//haces el insert
}
else//en caso de que ya exista.
{
echo "Error, este datos ya existe!";
}
Claro que possiras hacer esta misma consulta con varios datos, solo asegurate do ponerlos en el query y listo.
Espero que te sea de ayuda
Salu2!