buonasera, ho fatto questo script di prova per un sistema di votazioni, però non funziona e il problema penso sia nel php

ovvero non viene salvato nulla nel db e nella tabella indicata

qui il codice della pagina da cui si effettua la votazione

codice:
    <script>
    $(function() {
      $(".rating").click(function() {
        var idimg = $(this).attr("id");
        var dataString = 'idimmagine='+ idimg;
        var parent = $(this);
        $.ajax({
          type: "POST",
          url: "vota.php",
          data: dataString,
          cache: false,
          success: function(html){
            parent.html(html);
          }
        });
        return false;
      });
    });</script>
sempre nella stessa pagina qui c'è il codice da cui si effettua il comando input

codice:
echo "<input id=".$tattoo['nomeimmagine']." type=hidden class=rating />";
$tattoo['nomeimmagine'] è un valore restituito da un foreach e sono sicuro che restituisce nel modo corretto

dopodichè qui c'è il file vota.php a cui fa riferimento lo script ajax

codice:
<?php
if(isset($_POST['idimmagine'])){
    $col = '*********';
    $db = new PDO($col , '******');
    $idimmagine = $_POST['idimmagine'];
    $takedata = $db->prepare("SELECT idutente FROM immagini WHERE nomeimmagine = :idimmagine");
    $takedata->execute(array(':idimmagine'=>$idimmagine));
    $restakedata = $takedata->fetch();
    $idutente = $restakedata[0];
    $voto = rand(1,5);
    $sql = $db->prepare("INSERT INTO votazioni (idimmagine,idutente,voto) VALUES (:idimmagine,:idutente,:voto)");
    $sql->execute(array(':idimmagine'=>$idimmagine,':idutente'=>$idutente,':voto'=>$voto));
    header("Location:bacheca.php");
}
?>
qualcuno mi può aiutare a capire dove sbaglio??