- Home
- Categorie
- Coding e Sistemistica
- PHP
- area di login esclusiva ad una pagina di un sito
-
area di login esclusiva ad una pagina di un sito
buona sera a tutti vorrei sapere se c'è qualcuno che mi può aiutare devo fare l'accesso ad un'area riservata solo per gli utenti che si sono già registrati compliando tutti i campi richiesti per la registrazione al sito che ho fatto e che ho già pubblicato, nel sito c'è una prima registrazione automatica e poi un reindirizzamento ad un'altra pagina con degli altri dati da completare, una volta completati i dati da inserire li fa accedere all'area utenti registrati da dove possono scaricare i documenti, ma ci sono pure gli utenti che hanno già completato la registrazione e devono solamente accedere all'area utenti già registrati, premetto che il sito ha un database dove vengono salvati i dati per le registrazioni con una tabella nuovaregistrazione, e una tabella completalaregistrazione, se io fleggo anche gli utenti che hanno fatto la registrazione automatica può succedere che accedono all'area utenti già registrati anche se non hanno completato la registrazione della seconda parte dei dati, quindi vorrei l'area utenti già registrati sia accessibile solamente a coloro che hanno completato tutte e due le registrazioni come posso fare? vi ringrazio anticipatamente per la pronta e celere risposta che mi darete.
-
Nella pagina da proteggere:
Dopo che hai verificato il login, fai una select in cui controlli nella tabella dove ci sono gli utenti che hanno completato la registrazione, se è presente l'id dell'utente che è nel sito.
Se è presente, gli mostri il contenuto, se no quello che vuoi: un messaggio di cortesia con link, o direttamente un redirect alla pagina per completare la registrazione..
-
grazie della risposta veramente, ma ho un piccolo problema non essendo ferrato perchè uso un programma come website x5 professional 10 che ha quasi tutto pre impostato non so come andare a fare questa select e quello che hai scritto, se mi potresti dare un aiutino anche io questo te ne sarei infinitamente grato.
-
Purtroppo se non hai una conoscenza minima di SQL e PHP la vedo dura che tu possa risolvere il problema in maniera autonoma. E' anche vero che se tu conoscessi PHP e SQL non saresti qui a chiedere aiuto.
La soluzione di per sè è semplice ma senza conoscere la precisa struttura delle tabelle del database e la logica del flusso dei tuoi script diventa praticamente impossibile aiutarti.Immagino che i tuoi utenti siano inseriti del database con un ID univoco che viene creato nella tabella "nuovaregistrazione" e successivamente copiato nella tabella "completalaregistrazione" quando vengono compilati tutti i campi (se così non fosse, ovvero se non è presente un ID univoco in entrambe le tabelle per ogni utente, allora nascerebbe anche un problema di errata progettazione del database).
La soluzione, come diceva Gigi991, è quella di controllare che l'utente sia registrato nella tabella "completalaegistrazione".
Sintetizzando la cosa in maniera molto maccheronica diciamo che pippo ha ID 23$cerca = 'SELECT id FROM completalaregistrazione WHERE id = 23';
[...]
se ($cerca == true){
imposta variabile di sessione o cookie;
invia alla pagina riservata;
} altrimenti {
invia alla pagina alternativa o alla pagina di completamento registrazione;
}nella pagina riservata dovrà poi esserci un controllo sulla variabile di sessione o sul cookie per assicurarsi che l'utente sia autorizzato alla visualizzazione. Senza la variabile di sessione o il cookie chiunque potrebbe richiamare direttamente la pagina dal browser senza aver completato la registrazione o, ancora peggio, senza aver fatto neanche il login.
-
grazie di aver risposto oslino, la tabella nuova registrazione esiste nel database, e la crea in automatico quando inserisco i dati di registrazione automatica, poi ho creato un'altra pagina intesendo un modulo email dove i dati vengono inviati ad un databse, premetto che uso websitex5 che ha tutte le funzioni preimpostate dove nei vari campi che ho inserito ho messo nome campo database, con il relativo nome del campo, la tabella me la avendo compilato i campi e inviato il tutto mi ritrovo la tabella sul db che è stata creata automaticamente con tutti i nomi dei campi che ho chiamato datiregistrazione, quello che mi hai scritto tu dove lo vado ad inserire dove ho messo l'area di login per accedere all'area utenti già registrati? scusatemi se vi chiedo ma è la prima volta che faccio questa cosa, perchè avendo tutto quanto impostato dal programma non mi ponevo il problema di dover fare una cosa del genere, ma dopo questa esperieza ho intenzione di studiare il linguaggio php e mysql, anzi se mi potete consigliare qualche buon libro ve ne sarei grato, per il momento siccome ho già pubblicato il sito che è online cercavo qualcosa o qualcuno che mi poteva aiutare. grazie comunque anticipatamente per l'aiuto che mi avete dato fino ad ora.
-
Salve ginolati e benvenuto nel forum GT.
Penso che la Casa possa proporre un tutorial già fatto: http://www.giorgiotave.it/forum/scripting-e-risorse-utili/83033-tutorial-area-privata.html
Per dubbi sul suo uso li posti tranquillamente in quel thread.Buon lavoro.
-
@ginolati said:
grazie di aver risposto oslino, la tabella nuova registrazione esiste nel database, e la crea in automatico quando inserisco i dati di registrazione automatica, poi ho creato un'altra pagina intesendo un modulo email dove i dati vengono inviati ad un databse, premetto che uso websitex5 che ha tutte le funzioni preimpostate dove nei vari campi che ho inserito ho messo nome campo database, con il relativo nome del campo, la tabella me la avendo compilato i campi e inviato il tutto mi ritrovo la tabella sul db che è stata creata automaticamente con tutti i nomi dei campi che ho chiamato datiregistrazione, quello che mi hai scritto tu dove lo vado ad inserire dove ho messo l'area di login per accedere all'area utenti già registrati? scusatemi se vi chiedo ma è la prima volta che faccio questa cosa, perchè avendo tutto quanto impostato dal programma non mi ponevo il problema di dover fare una cosa del genere, ma dopo questa esperieza ho intenzione di studiare il linguaggio php e mysql, anzi se mi potete consigliare qualche buon libro ve ne sarei grato, per il momento siccome ho già pubblicato il sito che è online cercavo qualcosa o qualcuno che mi poteva aiutare. grazie comunque anticipatamente per l'aiuto che mi avete dato fino ad ora.
Da quel che scrivi non è per nulla chiaro cosa fa il tuo database ma credo, e spero, che sia solo un problema di un tuo errato modo di esprimere elementi tecnici (database, tabella, campo, riga, colonna sono termini per indicare precisi elementi del database e dubito che lo script ti crei una tabella per ogni utente, al limite dovrebbe crearti una nuova riga nella stessa tabella. Se così non fosse saremmo nuovamente nel problema di errata progettazione del database).Non conosco X5 ma se è un software serio dovrebbe darti la possibilità di gestire script PHP, tabelle e variabili di sessione.
Di libri PHP ce ne sono a decine ma io mi sento di consigliarti questo http://www.ibs.it/code/9788820352080/tarr-andrea/sviluppare-siti-dinamici-con.html con il quale mi sono trovato bene e spazia dalla programmazione procedurale con accenni all'OOP (programmazione ad oggetti).
Per SQL/MySQL i migliori che ho trovato per chiarezza e completezza sono questi due, entrambi fatti bene, chiari e completi
http://www.ibs.it/code/9788838661433/dorbol-daniela-guidi-andrea/guida-a-sql-con.html
http://www.ibs.it/code/9788838644689/forta-ben/corso-rapido-di-mysql.htmlTi avverto solo che PHP e MySQL non sono linguaggi che si imparano in 1 mese, neanche in 2 e neanche in 3. Forse neanche in 4. E' un continuo scoprire strada facendo. Quindi armati di buona volontà.
In alternativa valuta di pagare qualcuno che ti risolva l'urgenza del problema fintanto che non diventi autonomo.
-
buongiorno Oslino ti ringrazio anticipatamente per il consiglio sui libri da studiare, ne sono consapevole anche io che sono cose che si imparano subito dall'oggi al domani ma almeno iniziare ad avere una infarinatura di base per poter risolvere problemi urgenti come questo di qua che mi è capitato, forse mi sarò spiegato male io sul mio problema, e cercherò di spiegarlo di nuovo in maniera diversa, ho fatto un sito di una società qui c'è il link del sito amministrazionecalampiso.it, dove i soci si registrano per scaricare della documentazione importante o delle comunicazione da parte dell'amministrazione, ora il programma che uso io mi da la possibilità di far fare una registrazione automatica agli utenti che si registrano, solo che al modulo di inserimento dati che il programma crea in automantico per la registrazione, oltre ai 5 campi che da lui in automatico non va, nel senso che anche se inserisci tramite il codice dell'area login il resto dei campi che mi interessava far compilare agli utenti, ma anche se poi creo gli stessi campi nel db, il programma mi compila solamente i 5 campi che da lui di defaul lasciando vuoti tutti gli altri, allora cosa ho fatto per fare in modo che gli utenti compilino tutti i campi mi sono creato un'altra pagina che ho chiamato completa la registrazione, dove c'è un modulo di invio mail con i dati che dovevo fare inserire agli utenti, dati che vengono inviati ad un'altra tabella del database, quindi io ho una prima tabella all'interno del database dove mi trovo il nome utente, la password, l'indirizzo email ed il nome completo di coloro che fanno la registrazione, ed una seconda tabella con il resto dei dati che mi interessavano come ad esempio nome e cognome del titolare, codice fiscale, numero di telefono, indirzzo ecc. ecc. ora all'area utenti già registrati che sarebbe l'area da dove gli iutenti possono scaricare i documenti che l'amministrazione mette online dovrebbero poter accedere solamente tutti coloro che hanno compilato tutti i dati da inserire, ma in questo momento se qualcuno che ha effettuato la registrazione automatica senza completare il resto dei dati tenta di entrare nella pagina area utenti già registrati dal link che ho creato lo fa accedere, cosa che dovrebbe far fare solo agli utenti che hanno completato l'inserimento di tutti i dati da compilare, non so se sono stato chiaro, Oslino forse entrando all'interno del sito ti rendi conto meglio di quello che voglio dire. Un saluto ed una buona giornata a tutti voi e grazie sempre per la disponibilità e l'aiuto che date agli utenti del forum.
-
Potresti valutare l'uso di uno dei tanti CMS in circolazione se l'intento è semplicemente questo. Ci sono tanti gestori che rispetto alla scrittura di codice a mano, sono più intuitivi grazie al pannello di controllo che gestisce via browser. Tanti hanno incluso il sistema di registrazione, in cui puoi aggiungere i dati che ti servono. Puoi gestire gruppi (ne fai uno per i soci) e relativi permessi di visualizzazione della pagine (le pagine riservate ai soci).
Riesci anche a sfruttare la miriade di template a disposizione in rete, anche gratuiti, che dovrai solo ritoccare per lo più con immagini, logo aziendale.
Quale CMS, dovresti provarli e vedere come ti trovi meglio.
Joomla, wordpress, drupal, e molti altri che puoi trovare qui in forum (con relativo supporto) o su google, cercando "CMS PHP".
Alcuni hanno integrati i sistemi che ti servono, altri usano plugin che si installano comunque facilmente.
-
Ho guardato il sito, fatto una registrazione fittizia e letto un po' il manuale di X5. Da quel che leggo non credo tu possa aggiungere autonomamente campi nel form di registrazione. Inoltre immagino che X5 utilizzi PHP a classi ed oggetti predefiniti di cui farà uso anche il pannello di controllo del sito. La soluzione tramite X5 quindi non c'è e non è facile da implementare manualmente con codice PHP soprattutto attraverso suggerimenti su un forum.
Spiacente. :bho:Prendi in considerazione di utilizzare un CMS come Wordpress o Joomla come ti hanno suggerito.
P.S
L'immagine di sfondo da 7MB è decisamente troppo pesante. Unita a tutte le altre immagini rende lento il caricamento del sito. Ottimizzale tutte un po' meglio per renderle più leggere.