Si, así sumara 1 a votepoints, solo hay que cambiar para que el valor de name quede entre comillas:
Código:
UPDATE table SET votepoints = votepoints +1 WHERE name='$id' LIMIT 1
La parte de LIMIT 1 es para asegurarse de que solo se modif¡que un registro a la vez, en caso de que dos registros tengan el mismo valor de campo name. Es una buena practica para no llevarse luego sorpresas ;)
Para lo otro veamos. Tienes guarda la ultima vez que sea actualizo votepoints en algun lugar, entonces será algo así:
Código:
SELECT ultimovoto FROM votes WHERE ip = "$ip"
luego con php haces algo así:
Código PHP:
if ( date('U',$ultimovoto) < ( time() - 43200) ) {
//permitir voto
}
el 43200 son 12 horas en segundos. La comparación es para saber si el ultimovoto fue hace más de 12 horas