Visualizzazione risultati 1 fino 2 di 2

Discussione: Aiuto con php

  1. #1
    Guest

    Predefinito Aiuto con php

    Salve, avrei una richiesta un po' particolare e spero di trovare qualche genio del php che mi possa aiutare.
    Ho creato un sito web che serve agli utenti di un mio forum di effettuare delle votazioni.
    Per il sistema delle votazioni ho utilizzato uno script di rating system che calcoli anche la media.
    Il problema è che se un utente entra e vota più volte, il sistema di votazione perde la sua utilità perchè ovviamente la media non sarà più "onesta"..
    Tutto questo per dire che ho bisogno di un modo per far sì che ogni persona possa votare una sola volta!
    Come posso fare?
    Avevo intenzione di far in modo che prima di dare il proprio voto ogni utente dovesse inserire in una finestra a comparsa (si chiama popup? scusate ma non sono molto pratica!) il proprio nickname e che venisse fatto, a questo punto, un duplice controllo:

    1) che il nickname sia presente in un database o in un elenco che io creo precedentemente in modo che possano votare solo gli utenti presenti in questo elenco;
    2) se e solo se il nickname è presente, quell'utente può votare, e si crea un altro database che memorizzi chi ha già votato in modo da fare un controllo sui voti ed impedire allo stesso nickname di votare successivamente.

    Purtroppo scrivere a parole una richiesta semplicissima è impossibile!

    Spero di essere stata chiara e se qualcuno ha la più pallida idea di come fare queste cose mi dia una risposta!!

    Grazie mille!

  2. #2
    Guest

    Predefinito

    Ciao,

    Io avevo un problema simile al tuo per certi versi, nel senso che nel mio sito ho inserito un guestbook e volevo da una parte impedire che un utente lasciasse messaggi senza compilare tutti i campi del form, dall'altra volevo impedire che un utente già presente nel mio database lasciasse ulteriori messaggi.
    La seconda parte della questione è adattabile alla tua richiesta. Qui ti indico la parte di codice inerente a questo:
    Codice PHP:
    function elabora_guest_locale(){ // inizio function
    // cerco se l'utente ha già scritto dei messaggi
    $ricerca = mysql_query("select messaggio from messaggi where nome_utente = '" . htmlspecialchars($_POST['nome_utente']) . "' limit 1");
    // se la query restituisce righe, allora l'utente ha già scritto in database
    if (mysql_num_rows($ricerca) ) {
    echo
    "<div class=\"h2\">Devi scegliere un altro nickname! Quello da te inserito &egrave; gi&agrave; presente nel database...usa un altro nick,ciao.</div> <br /><div class=\"centra\"><a href=\"nuovo_guest.php?azione=inserisci\">Torna indietro e scegli un altro nome</a></div>
    <br /><br /><br /><br /><br /> "
    ;
    }
    Come vedi io ho usato una funzione da me creata che poi attivo alla fine dello script con uno switch ovvero in questo modo:
    Codice PHP:
    switch($_GET['azione']){
    case
    "inserisci":
    modulo_guest_locale();
    break;
    case
    "elabora":
    elabora_guest_locale();
    break;
    case
    "leggi":
    read_guest();
    break;
    }
    //switch sulla variabile "azione" passata nella url
    Penso che questo ti possa aiutare, almeno per questo problema. Se qualcun altro ci aiuta, penso si possa risolvere anche il resto.
    Ciao.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •