- Home
- Categorie
- Coding e Sistemistica
- PHP
- script utente/amministratore
-
Ciao Jinger e benvenuto nel Forum GT
Beh....script del genere sono abbastanza personalizzati ed ognuno solitamente se lo fa e modella a seconda delle proprie esigenze e capacità.
Credo pero' sia utile capire da che punto partire per poterti aiutare al meglio
Primo passo sicuramente da fare è creare un'area privata, e quì trovi uno script preparato e funzionante fatto dal buon Thedarkita
Pian piano poi vediamo il resto, ovviamente serviranno più specifiche su cosa e come lo vuoi realizzare
-
Grazie Samyorn per la risposta, riporti a galla la mia speranza di farcela
Purtroppo non sono molto ferrata (femmina sono ) con php e mysql, diciamo che ho sempre usato script e modificati secondo le mie esigenze...ma ce la posso fare stavolta!
Comincio con questo che mi hai indicato tu e appena fatto torno a richiedervi come proseguire.
Grazie ancora e a presto!
-
Rieccomi!
Allora ho fatto, ho creato l'area privata e tutto funziona benone
A questo punto avrei bisogno di fare in modo che ogni utente veda la propria pagina privata con i dati che ha inserito in fase di registrazione.
Suggerimenti?
-
@Jinger said:
....(femmina sono ) ....
Oooops.....
Pardonche ogni utente veda la propria pagina privata con i dati che ha inserito in fase di registrazione. Questi li estrapoli dalla tabella user
SELECT * FROM tabella_user WHERE id='$id' ```$id lo recuperi dalla sessione [PHP]session_start(); $id=$_SESSION['login'];[/PHP] lato admin invece non metterai clausola WHERE dato che li dovrai vedere tutti ;)
-
Samyorn oddio non ci ho capito molto.
O meglio, perdonami se ti chiedo cose elementari ma sai com'è
Dove le devo mettere le stringhe che mi hai scritto?
Nella pagina privata.php vedo questo al momento:
// Se non è stata definita la variabile manda l'utente alla homepageif(!isset($_SESSION['login'])) { header('Location: index.php'); exit; } ```E' qui che devo mettere questo?
session_start();
$id=$_SESSION['login'];E questo dove lo metto?
SELECT * FROM tabella_user WHERE id='$id'
Faccio del mio meglio ma sto imparando :?
-
allora la pagina del singolo utente, dove vedrà solo i propri dati andrà strutturata più o meno così:
[php]session_start();
if(!isset($_SESSION['login']))
{
header('Location: index.php');
exit;
}
include "config.php"; // file di connessione al Db
$id=$_SESSION['login'];$sql="SELECT * FROM nome_tabella_user WHERE id='$id'";
$query=@mysql_query($sql) or die (mysql_error());$row=mysql_fetch_array($query);
// a questo punto hai un array che contiene i dati dell'utente per visualizzarli basta fare i relativi echoecho $row['id']; //mostrerà l'id utente
echo $row['username'] // mostrerà il nome utente (non ricordo se il nome del campo sia proprio questo, verifica nel tuo Db ovviamente
// etc etc[/php]La pagina dell'amministratore, che in qualche modo devi identificare come amministratore (magari con un altro campo nella tabella con i permessi e ti metti tutto in sessione), sarà:
[php]session_start();
if(!isset($_SESSION['login']))
{
header('Location: index.php');
exit;
}
if ($_SESSION['permessi']=='admin') //per esempio
{
include "config.php"; // file di connessione al Db
$id=$_SESSION['login'];$sql="SELECT * FROM nome_tabella_user";
$query=@mysql_query($sql) or die (mysql_error());
//questa volta non mettiamo la clausola WHERE dato che vogliamo vederli tutti e quindi cicliamo il risultato per visualizzarli
while ($row=mysql_fetch_array($query))
{
echo $row['id']."-".$row['username'];
}
}
else
{
header('Location: index.php');
exit;
}
[/php]
-
Allora ci sto provando, per quanto riguarda i dati degli utenti funziona, grande! Ora mi loggo e riesco a vedere i dati di ogni singolo utente
Non riesco però a creare l'amministratore...ho creato una pagina admin.php per esempio, e ho copiato il codice che mi hai dato. (a parte che non ci va perchè mi va automaticamente su index.php) Ho fatto bene cmq?
Nel db che devo fare?
-
Spe prima ci sono un paio di modifiche da fare per funzionanrti l'amministrazione
Devi creare nella tabella utenti un altro campo che chiami per esempio permessi e per il tuo username lo imposti ad admin (di default metti user nel campo)
e poi:
quando nel file login.php crei la sessione
[php]$_SESSION['login']=$id;[/php]devi tirar su dal Db anche il valore del campo permessi ed associarlo
[php]$_SESSION['permessi']=$permessi[/php]devi cambiare questo pezzo così insomma:
[php] $query = mysql_query("SELECT id, permessi FROM utenti WHERE user = '$user' AND pass = '$pass' LIMIT 1");// Se ha trovato un record if(mysql_num_rows($query) == 1) { // prelevo l'id dal database $login = mysql_fetch_array($query); // Creo una variabile di sessione $_SESSION['login'] = $login['id']; $_SESSION['permessi']=$login['permessi'];[/php]
-
Mi sa che ho sbagliato qualcosa perchè non va...
Ti dico cosa ho fatto:
sono andata nel db, nella tabella utenti ho creato il campo permessi (uguale agli altri campi).e per il tuo username lo imposti ad admin (di default metti user nel campo) forse non ho capito qualcosa di questo passaggio....
Poi sono andata nella pagina di login e ho modificato come mi hai scritto, però l'utente admin vede cmq solo la sua paginetta e basta...sono proprio tonta forte mi sa
-
ehm...no, intendevo dire che nel campo permessi per il tuo utente, che avrà il suo username, scriverai admin (solo nel campo permessi )