Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Salvataggio IP e confronto col database

    Ciao raga, ho creato un sondaggio e sto cercando di trovare il modo per evitare di far votare 2 volte nel mio sondaggio dallo stesso utente... memorizzo l'indirizzo ip e lo confronto con quelli salvati nel database, ma qualcosa non funziona, mi aiutate?

    Codice PHP:
    <?php

    $result
    =$_POST['sond'];
    if (!
    $result) die("Non hai selezionato un'opzione! <a href=\"sondaggio.php\">Torna Indietro!</a>");

    $ip=$_SERVER['REMOTE_ADDR'];

    $db_host="localhost";
    $db_name="my_thedoors";
    $db_user="thedoors";
    $db_password="";

    $db=mysql_connect($db_host,$db_user,$db_password);
    if (
    $db==false) die("Errore nel collegamento a MySQL!");

    mysql_select_db($db_name,$db)
    or die(
    "Errore nella selezione del database!");

    $query="SELECT ip FROM sondaggio";
    $ris=mysql_query($query,$db);
    if (
    ris==false) die("Errore nell'invio della query (verifica ip)!");

    while (
    $row=mysql_fetch_array($ris))
     if (
    $ip==$row[ip]) die("Hai già votato!");

    $query="CREATE TABLE IF NOT EXISTS sondaggio (
    id int NOT NULL auto_increment,
    ip int default 0,
    result int NOT NULL default 0,
    PRIMARY KEY (id) )"
    ;

    mysql_query($query,$db)
    or die(
    "Errore nell'invio della query!");

    $query="INSERT INTO sondaggio (ip,result) VALUES ('$ip','$result')";
    mysql_query($query,$db)
    or die(
    "Errore nell'invio della selezione!");

    ?>

    Salvataggio della selezione avvenuto con successo! [url="sondaggio.php"]Torna indietro[/url]

    <?php

    mysql_close
    ($db);

    ?>

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    1,611
    il confronto sull'ip è ok però se io mi scollego e mi ricollego tra un'ora il mio indirizzo ip cambia...

    se vuoi fare un sistema a dovere crei un cookie che dura ad esempio 1 mese, e allo stesso tempo fai anche il confronto degli ip...
    NON ABBANDONATE CANI O GATTI!!!

  3. #3
    Originariamente inviato da activ
    il confronto sull'ip è ok però se io mi scollego e mi ricollego tra un'ora il mio indirizzo ip cambia...

    se vuoi fare un sistema a dovere crei un cookie che dura ad esempio 1 mese, e allo stesso tempo fai anche il confronto degli ip...

    Questo lo so, ma attualmente con questo codice, anche se non mi disconnetto, mi fa votare continuamente

  4. #4
    Vi prego aiutatemi!

  5. #5
    tu crei una tabella con un campo ip di tipo int,
    poi leggi l'ip dell'utente con $ip=$_SERVER['REMOTE_ADDR'];
    che è una STRINGA, nel formato xxx.yyy.zzz.ttt

    poi per vedere se l'IP c'è già fai una semplice
    $query="SELECT ip FROM sondaggio";
    che ti restituisce TUTTE le righe, poi fai un bel while
    per vedere se fra le righe tornate c'è l'ip ...
    ma...
    allora a cosa serve un DB ??
    e fare:
    Codice PHP:
    $query="SELECT ip FROM sondaggio where ip='" $ip "'";
    $ris=mysql_query($query,$db);
    if (
    ris) {
        
    // L'IP è nel database: non puoi votare
    }
    else {
        
    // L'IP NON è nel database: puoi votare

    no, eh?

    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  6. #6
    Originariamente inviato da homezappa
    tu crei una tabella con un campo ip di tipo int,
    poi leggi l'ip dell'utente con $ip=$_SERVER['REMOTE_ADDR'];
    che è una STRINGA, nel formato xxx.yyy.zzz.ttt

    poi per vedere se l'IP c'è già fai una semplice
    $query="SELECT ip FROM sondaggio";
    che ti restituisce TUTTE le righe, poi fai un bel while
    per vedere se fra le righe tornate c'è l'ip ...
    ma...
    allora a cosa serve un DB ??
    e fare:
    Codice PHP:
    $query="SELECT ip FROM sondaggio where ip='" $ip "'";
    $ris=mysql_query($query,$db);
    if (
    ris) {
        
    // L'IP è nel database: non puoi votare
    }
    else {
        
    // L'IP NON è nel database: puoi votare

    no, eh?

    HTH
    Zappa
    Scusa ma allora il campo ip del database come devo dichiararlo? VARCHAR?

  7. #7
    Originariamente inviato da Dreamer89
    Scusa ma allora il campo ip del database come devo dichiararlo? VARCHAR?
    Absolutely!
    varchar(15), almeno, infatti un ip è xxx.yyy.zzz.ttt che è lungo 15

    tao
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  8. #8
    Originariamente inviato da homezappa
    Absolutely!
    varchar(15), almeno, infatti un ip è xxx.yyy.zzz.ttt che è lungo 15

    tao
    Zappa

    Giusto grazie mille, più tardi provo! ^^

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.