Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    323

    [php] file_put_contents non scrivere se già stato visitato

    Salve, ho questo codice:
    codice:
    $_SESSION["ip"] = $_SERVER["REMOTE_ADDR"];
    
    if ($_SESSION["ip"] == $_SERVER["REMOTE_ADDR"])
    {
        file_put_contents('accessi/log_'.date("m_Y").'.txt', $contenuto, FILE_APPEND);        
    }else
    {
        
    }
    vorrei fare il modo che quando un visitatore ha già visto non deve più scrivere i dati.

    avete idea come fare?
    grazie mille e scusate del mio italiano ma ho problemi di salute.
    Ultima modifica di LedGiallo; 02-09-2015 a 17:22

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Scusa eh, ma se fai

    $_SESSION["ip"] = $_SERVER["REMOTE_ADDR"];

    e poi

    if ($_SESSION["ip"] == $_SERVER["REMOTE_ADDR"])

    questa condizione sarà sempre vera, glielo hai appena imposto nella prima riga che DEVONO essere uguali.

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    323
    quindi come posso fare? hai idea?, grazie mille.

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Dovresti spiegare un po' meglio.
    Una volta che l'utente ha visualizzato/modificato il file non deve poterlo modificare mai più o solo nella sessione corrente?

    Se si tratta solo della sessione corrente puoi mettere in sessione una variabile del tipo
    $_SESSION['file_visualizzato'] = true;

    Ogni volta che si prova a scrivere il file metti
    Codice PHP:
    if ( ! isset($_SESSION['file_visualizzato']) || ! $_SESSION['file_visualizzato'] )
    {
        
    // si può accedere al file
        
    $_SESSION['file_visualizzato'] = true;
        
    // fai quello che devi fare col file
    }
    else
    {
        
    // non si può accedere più al file

    Se invece non può essere scritto mai più, allora devi mettere una entry nel db, per esempio ti segni: username utente, nome file non più modificabile.
    In questo modo prima di fare qualsiasi operazione sul file verifichi se esiste la coppia username/file, se non esiste ok, si accede al file ed inserisci la entry nel db, se già c'è, allora accesso al file negato.

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.