[PHP] Aree riservate e gestione utenti

lxella

Nuovo Utente
2 Dic 2017
3
0
1
20
Mantova
Ciao a tutti (di nuovo),
passo subito al dunque essendomi già presentato in un'altra discussione.
Sto realizzando un sito per il mio gruppo scout (lo dico per introdurre il fatto che sono tutti imbranati in tecnologie informatiche, quindi devo lasciare qualcosa - anche per quando non ci sarò più - di intuitivo e moooolto semplice da usare).
Abbiamo inserito 1 solo CMS (ZenPhoto) per gestire un album fotografico. Questo CMS ha una tabella nel database legata agli utenti che abbiamo deciso di sfruttare.
Per questo motivo abbiamo creato una pagina di registrazione in PHP esterna a ZP poiché nel cms risultava molto più difficile creare gli utenti. La pagina si collega al database (nella tabella del cms) e inserisce gli utenti.
Già qui avrei alcune richieste.. Siccome la registrazione verrà effettuata dai capi scout (per permettere l'accesso solo ad utenti autorizzati) devo renderla il più veloce possibile... Devo richiedere i campi Nome, Username, Email, Gruppo e Password. A questo punto vi chiedo:
  • è possibile far sì che il campo email si inserisca automaticamente [email protected] (dove username è dinamico e corrisponde al campo prima, mentre @dominio.dominio è statico e rimane sempre uguale - ovviamente la mail non esiste, ma il cms la richiede obbligatoriamente per autorizzare l'utente ad accedere, quindi inseriamo una mail fasulla che poi essi potranno modificare)?
  • è possibile generare automaticamente una password di una lunghezza stabilita?
Poi, nel sito sono presenti anche alcune aree riservate.. Una è l'area documenti (ho già il form per il caricamento dal sito, per l'eliminazione useremo l'hosting, almeno per ora) cui devono poter accedere tutti i gruppi (nel mio caso le 6 squadriglie, i capi e gli amministratori - non i genitori o comunque un visitatore), mentre le altre sono aree riservate ai soli amministratori.
Per fare ciò mi serve che il login sia collegato alla medesima tabella del database e che possa autenticare solo gli utenti attivi e appartenenti al gruppo indicato. Adesso per proteggere queste pagine ho messo gli .htaccess ma, a quanto ne so, non sono collegabili al database (se invece mi sbaglio ditemelo!).
La cosa più comoda, per me, sarebbe avere il login esattamente com'è adesso con gli .htaccess (il popup che altrimenti non fa visualizzare la pagina).

Passiamo a quella che, credo, sia l'ultima cosa: la gestione degli utenti.
Per la gestione dei documenti posso anche affidarmi all'hosting, essendo comunque abbastanza intuitivo..
Ma per la gestione degli utenti non posso chiedere che passino per il database, perché sicuramente non sarebbe pratico per loro, e rischierebbero di combinare dei disastri, e la gestione delle utenze tramite il cms è abbastanza confusionaria.. Quindi pensavo a una pagina in cui, per lo meno, siano visualizzabili tutti gli utenti (nella tabella sono salvati anche i gruppi che servono al cms, e questi hanno come valore di validità 0, mentre le utenze con id/user/pass/email/... hanno valore di validità 1, quindi mi servirebbe che gli utenti vengano selezionati solo se attivi (valore di validità 1) e, se possibile, li vorrei avere divisi nei vari gruppi che dicevo prima (le 6 squadriglie, capi e genitori), se non fosse possibile va bene una pagina unica in cui visualizzarli, ma con una casella di ricerca per trovare velocemente chi sto cercando. Poi ho necessità di visualizzare per ogni utente il nome, lo username, il gruppo (se non divisi nei gruppi), la mail e la password di default. Spiego quest'ultimo punto..
Siccome le utenze vengono create dagli amministratori (e qui entrerebbe in gioco la cosa della password automatica che dicevamo), questi devono poi comunicare agli interessati le credenziali. Siccome, sempre per un discorso di praticità e rapidità non è pensabile segnarsi le password di tutti, dovrei visualizzare la password della registrazione. E qui nascono i problemi.. Nel senso che questa è l'unica cosa delle tre che sono riuscito, seppur in parte, a fare. Ho trovato uno script PHP che richiamasse il database e stampasse a video solo gli utenti validi (la cosa del gruppo non sono riuscito a farla) mettendo
PHP:
SELECT * FROM tabella WHERE valid='1'
e inserendo poi la tabella HTML che veniva popolata. Il problema, se così vogliamo chiamarlo, è che nel database ho le password criptate in MD5.. Per questo mi esce a video l'hash della password di cui mi faccio ben poco. Io non voglio assolutamente conoscere la password degli utenti, anche per motivi di privacy e sicurezza, ma pretendo di sapere la password di default assegnata per potergliela comunicare... Avendo gli utenti divisi per gruppi, potrei stampare la pagina con le password di default di ognuno e consegnarle al capo squadriglia (sostanzialmente il coordinatore delle squadriglie, ovvero dei gruppetti all'interno del gruppo scout).
Se non si riuscisse a visualizzare la password di default nella pagina di gestione utenti vorrei almeno che potesse arrivare via mail a una mail uguale per tutte le utenze (una mail del gruppo appositamente creata), così che sia possibile stampare le varie mail (che nell'oggetto segnaleranno anche lo username per un facile riconoscimento).
Altre funzionalità che sarebbero molto utili all'interno della gestione utenti sarebbero quelle per:
  • generare una nuova password agli utenti (e anche qui, o spedirla via mail o salvarla nella pagina - sarebbe utile nel caso in cui un utente dimenticasse la password, così se ne genera una nuova);
  • modificare l'utente (o meglio, siccome nome e username rimarranno uguali, la mail sarà modificabile dall'utente a suo piacimento dal cms in quanto egli può gestire solo il suo profilo e non tutti e 40, e la password sarà modificabile da lui nel cms e da noi con il genera nuova password - nel caso - l'utilità sarebbe nel modificare i gruppi, poiché non è scontato che per tutti gli anni si rimanga nella stessa squadriglia, è anche possibile che essa venga cambiata);
  • eliminare l'utente (o renderlo, per lo meno, inattivo, in modo che non possa visualizzare le foto o i documenti riservati una volta uscito dal gruppo).
Dovrebbe essere tutto..
Ah, dimenticavo di dirvi che ho già provato con alcuni script e quant'altro a fare quanto ho detto sopra, ma non ho prodotto risultati, probabilmente sono altamente incapace XD

Ringrazio anticipatamente chi vorrà aiutarmi (sempre se c'è qualcuno disposto a farlo!)
 

macus_adi

Utente Attivo
5 Dic 2017
1.343
91
48
IT/SW
è possibile far sì che il campo email si inserisca automaticamente [email protected] (dove username è dinamico e corrisponde al campo prima, mentre @dominio.dominio è statico e rimane sempre uguale - ovviamente la mail non esiste, ma il cms la richiede obbligatoriamente per autorizzare l'utente ad accedere, quindi inseriamo una mail fasulla che poi essi potranno modificare)?
SI attraverso javascript potrai manipolare l'input.
-
è possibile generare automaticamente una password di una lunghezza stabilita?
SI, ma la password in chiaro o cifrata?
In chiaro = devi creare una funzioncina
Cifrata = substr(md5(time()),0,8);
-
Per fare ciò mi serve che il login sia collegato alla medesima tabella del database e che possa autenticare solo gli utenti attivi e appartenenti al gruppo indicato.
Perchè non utilizzate le sessioni?
-
ma pretendo di sapere la password di default assegnata per potergliela comunicare...
Il sistema dovrebbe inviare una email all'utente collegato contenente la password creata.
-

Per farla brave potresti optare per WP o JM, altamente personalizzabili e di facile gestione!
 
Discussioni simili
Autore Titolo Forum Risposte Data
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0
P lanciare script asp (o php) da jquery Javascript 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5
F Scrivere dei dati in word con php PHP 0
D PHP leggere cartella di Windows PHP 1
I dominio aruba versione php server linux Domini 3
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
F Ricreare struttura php+mysql su Xampp Apache 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
M Array associativi php su 2 campi mysql PHP 10
G Invio form con PHP PHP 3
T fatture con voci fattura in php PHP 0

Discussioni simili