- Home
- Categorie
- Coding e Sistemistica
- PHP
- Come rendere visibile dei file per ogni singolo utente
-
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
-
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.
-
@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??
-
Imparando le basi, non è particolarmente difficile fare una cosa del genere.
-
e mi potresti dare qualche dritta???qualche pezzo di codice???
non sono un mostro col php =(
-
E con l'SQL?
Immagina un db del tipo:
id | data | url | validoQuesto è 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]
-
@meis said:
E con l'SQL?
Immagina un db del tipo:
id | data | url | validoQuesto è 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??