Pensavo di esserne in grado, ma dopo aver mandato in crash phpmyadmin col codice mi son detto ke è meglio una consulenza da esperti
Codice PHP:
<?
session_start();
$voto = $_POST[voto];
$id_song = $_POST[id_canzone];
$nome = $_SESSION[user];
$db = db_connetti();
//Verifico che l'utente in questione non abbia già espresso un voto per questa canzone
$query = "SELECT user_votante FROM Voti_Canzoni WHERE id_canzone = 'id_song' " ;
$result = mysql_query($query, $db);
while ($row = mysql_fetch_array($result))
{
if ($row[user_votante] == $nome){
echo "Hai già votato questa canzone";
?>
<html>
<SCRIPT LANGUAGE="JavaScript">window.setTimeout("document.location='HomePageUtenti.php'",4000)</SCRIPT>
</html>
<?
}
}
$query2 = " INSERT INTO Voti_Canzoni ( voto, id_canzone, user_votante )
VALUES ( '$voto', '$id_song', '$nome' ) " ;
if (mysql_query($query2, $db))
{
echo '<h2>Votazione inserita</h2>
';
}
echo 'Sarai automaticamente indirizzato alla Homepage Utenti entro pochi secondi...';
?>
<html>
<SCRIPT LANGUAGE="JavaScript">window.setTimeout("document.location='HomePageUtenti.php'",4000)</SCRIPT>
</html>
Ricevo correttamente il voto, id_canzone e user dall sessione corrente. Devo fare in modo però che lo user attuale nella sessione non possa votare 2 volte la stessa canzone. Ho provato ad estrarre dal db le canzoni con lo stesso id che ricevo e fare il controllare tra il campo user_votante e $nome.
Niente purtroppo, ho provato molto: o mi ignora il controllo o il ciclo va avanti all'infinito e mi blocca tutto.
In pratica se nella tabella Voti_Canzoni c'è già il record con lo stesso id_Canzone e lo stesso user_votante di quello attuale devo avvisare che il voto è già stato inserito, altrimenti inserisco il voto.