MMM... mi sa che sia un po' tutto sbagliato... ad esempio session_start() non si può mettere dopo un qualsiasi output (quindi dopo codice html).
Inoltre

Codice PHP:
$_GET['vota']=$vota
direi che non ci vuole...

Prova a guardare questo

Codice PHP:
<?php
session_start
();

$ip=$_SERVER['REMOTE_ADDR']; 

if (
$_SESSION['ip'] )
  echo 
' non puoi piu votare';
else
  echo 
'ciao vota';

if (isset(
$_GET['vota']) && !$_SESSION['ip'])
  {
     
$_SESSION['ip'] = $ip;
     echo 
'grazie di aver votato';
   }
?>

<form action="<?php $_SERVER['PHP_SELF'?>" method="get">
<input type="submit" name="vota" />
</form>

Non l'ho provato (magari mi è sfuggito qualche semplice errore di sintassi) ma dovrebbe essere corretto.

Ciao