• User Newbie

    Come rendere visibile dei file per ogni singolo utente

    Salve,
    vorrei sapere come far a rendere visibile solo dei file personali per ogni singolo utente quindi creare delle restrizioni per gli altri!!
    Esempio:

    Pippo si registra e deve vedere solo i file che ho caricato per lui, se si registra pluto non deve vedere quelli di pippo ma solo quelli che ho caricato per pluto.

    Come faccio a fare questo?? Spero di essermi spiegato bene

    Attendo risposta


  • ModSenior

    Ciao antonioriccardi,
    dovresti salvare nel database le informazioni sui permessi che vuoi attribuire ad ogni file, in maniera tale da poter poi controllare se l'utente è autorizzato a visualizzare il file.


  • User Newbie

    @Thedarkita said:

    Ciao antonioriccardi,
    dovresti salvare nel database le informazioni sui permessi che vuoi attribuire ad ogni file, in maniera tale da poter poi controllare se l'utente è autorizzato a visualizzare il file.
    Ed è possibile creare uno script autonomo in php??


  • ModSenior

    Imparando le basi, non è particolarmente difficile fare una cosa del genere.


  • User Newbie

    e mi potresti dare qualche dritta???qualche pezzo di codice???
    non sono un mostro col php =(


  • User Attivo

    E con l'SQL?
    Immagina un db del tipo:
    id | data | url | valido

    Questo è molto spartano, ma dovrebbe funzionare. Ci salvi, al caricamento del file (form multipart/data)

    INSERT INTO tabella VALUES (" '', '".date(Y-m-d)."', '".$url."', '".$id."' ");
    Quindi il primo campo (id), sarà auto-increment, e non dovrai modificarlo, aumenterà da solo. Il secondo campo è la data di caricamento del file (o contenuto). Il terzo campo è l'url del contenuto.
    Se è un file (immagino dei .pdf, o magari .doc do simili), la sintassi può essere:
    [PHP]move_uploaded_file($_FILES["file"]["tmp_name"], "cartelle_upload/".$_FILES["file"]["name"]);
    $url = "tuosito.estensione/cartella_upload/".$_FILES["file"]["name"];[/PHP]
    Se è una pagina web ci metti l'url (per spiegarmi meglio, nel form di caricamento puoi mettere degli input type='radio' che vanno a definire se carichi un file o se scrivi in una nuova pagina).
    Il quarto valore è l'id dell'user che può leggere/aprire il file. Può anche essere multiplo: mettiamo ad esempio un $result['valido'] = "1,4";
    Dovrai scriverlo:
    [PHP]
    $validi = explode(",", $result['valido']);
    foreach($validi as $id)
    {
    if($id == $_SESSION['id']) // se usi le sessioni
    {
    $abilitato = "Si";
    }
    }

    if($abilitato == "Si")
    {
    //Fai vedere il contenuto
    }
    else
    {
    //Dici che non può vederlo
    }
    [/PHP]


  • User Newbie

    @meis said:

    E con l'SQL?
    Immagina un db del tipo:
    id | data | url | valido

    Questo è molto spartano, ma dovrebbe funzionare. Ci salvi, al caricamento del file (form multipart/data)

    INSERT INTO tabella VALUES (" '', '".date(Y-m-d)."', '".$url."', '".$id."' ");
    Quindi il primo campo (id), sarà auto-increment, e non dovrai modificarlo, aumenterà da solo. Il secondo campo è la data di caricamento del file (o contenuto). Il terzo campo è l'url del contenuto.
    Se è un file (immagino dei .pdf, o magari .doc do simili), la sintassi può essere:
    [PHP]move_uploaded_file($_FILES["file"]["tmp_name"], "cartelle_upload/".$_FILES["file"]["name"]);
    $url = "tuosito.estensione/cartella_upload/".$_FILES["file"]["name"];[/PHP]
    Se è una pagina web ci metti l'url (per spiegarmi meglio, nel form di caricamento puoi mettere degli input type='radio' che vanno a definire se carichi un file o se scrivi in una nuova pagina).
    Il quarto valore è l'id dell'user che può leggere/aprire il file. Può anche essere multiplo: mettiamo ad esempio un $result['valido'] = "1,4";
    Dovrai scriverlo:
    [PHP]
    $validi = explode(",", $result['valido']);
    foreach($validi as $id)
    {
    if($id == $_SESSION['id']) // se usi le sessioni
    {
    $abilitato = "Si";
    }
    }

    if($abilitato == "Si")
    {
    //Fai vedere il contenuto
    }
    else
    {
    //Dici che non può vederlo
    }
    [/PHP]
    Come detto sopra nn sono un mostro col php quindi nn ci ho capito molto di questo codice!!!
    Io ho creato il login, registrati e area privata seguendo la guida presente sul forum...ora questi pezzi di codice dove devo inserirli??