ciao a tutti, non seguo praticamente mai questa sezione del forum, ma spero possiate essermi ugualmente d'aiuto. il mio problema è il seguente
devo aiutare una amica al fine di
(scherzo, ma sarebbe meglio
)
lei studia scienze della comunicazione e deve fare in un sito web un sondaggio per votare dei film di un concorso cinematografico. Ha 7 film in totale e vorrebbe limitare i "danni" di coloro che votano tante volte.
Non possiamo mettere uno di quegli script già fatti visto che non si interfaccia bene con la parte di sito già fatto.
Per adesso il sitema è fatto così, manda una mail con la votazione presa e mette un cookie, ma si vorrebbe fare in modo che registrasse il voto in un database mysql e che registrasse anche l'ip del votante in modo tale che lo stesso ip non votasse 3 volte con il semplice cancellamento del cookie. magari impostare questo parametro dell' IP per 24h, dopo di chè può votare ugualmente
ecco il codice com'è ora. praticamente si sceglie la locandina da un menù a tendina e poi si da vota ed esegue questo semplice script.
codice:
html>
<head></head>
<body>
<?php
mail("mail@mail.it", "Vota locandina","
la locandina $_POST[selezione]
ha ricevuto un voto!
\n\n
","From: votazione");
setcookie("hai già votato",24);
print "$hai già votato";
?>
<script language="javascript">
alert ("Operazione eseguita correttamente");
</script>
<script language="javascript">
self.location.href="http://www.sitoweb.it";
</script>
</body>
</html>
come devo implementare la cosa e fare le tabelle di sql?
ho creato questo tabelle nel database, non so se poi funzioneranno per quello che ho da fare, ma almeno vengono fatte nel modo esatto
codice:
#database di prova per la votazione con controllo degli ip
# tabella per la registrazione degli ip e tempo di accesso
CREATE TABLE tabella_IP (
ip varchar(15) NOT NULL default '0',
lastvisit int(11) NOT NULL default '0',
PRIMARY KEY (ip),
key ip (ip)
) TYPE=MyISAM;
# --------------------------------------------------------
# tabella voti
CREATE TABLE voti (
locandina1 int(11) NOT NULL default '0',
locandina2 int(11) NOT NULL default '0',
locandina3 int(11) NOT NULL default '0',
locandina4 int(11) NOT NULL default '0',
locandina5 int(11) NOT NULL default '0',
locandina6 int(11) NOT NULL default '0',
locandina7 int(11) NOT NULL default '0'
) TYPE=MyISAM;
ora, se mai le tabelle fossero esatte, devo scrivere la parte di php che registra l'ip del votante nella tabella in caso non esista mentre se esite gli dice che non può votare (e vorrei che la registrazione dell'ip durasse un tot di ore, es 24h). Inoltre devo mettere la parte di php che fa scrivere in caso sia possibile il voto aggiuntivo nella colonna esatta della tabella.
a logica farei una cosa del genere
codice:
controllo ip del votante
if-->ip già presente-->non vota
else--->registra ip e vota
aggiungi un +1 alla locandina scelta
devo poi tradulrlo in php e non so come fare, ma con qualche manuale e con il vostro aiuto spero di farcela...
Quel che voglio chiedere, fino qua è giusto o quasi giusto?
Buona vita e godete forte