Repository 32bit  Forum
Repository 64bit  Wiki

Pagina con password "a scelta multipla"

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata e la versione del Kernel. Questi dati aiutano le persone che possono rispondere.
2) Specificare sempre il tipo di shell (bash, sh, csh, etc...)
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza dell'ultima regola porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

Pagina con password "a scelta multipla"

Messaggioda samiel » gio mag 24, 2012 22:27

Ho una pagina con accesso ristretto (username e password):
Codice: Seleziona tutto
<div class="overtitle"><p>Materiali</p></div>
<h1>Area docenti</h1>
<?php
$msgs=array(
"unv"=>"&gt;&gt;&gt; Utente non valido &lt;&lt;&lt;",
"pnv"=>"&gt;&gt;&gt; Password non valida &lt;&lt;&lt;",
"nous"=>"&gt;&gt;&gt; Utente non autorizzato &lt;&lt;&lt;",
"login"=>"&gt;&gt;&gt; Accesso correttamente effettuato &lt;&lt;&lt;",
"logout"=>"&gt;&gt;&gt; Logout correttamente effettuato &lt;&lt;&lt",
"noacc"=>"&gt;&gt;&gt; Accedere correttamente con le credenziali &lt;&lt;&lt;"
);
if(isset($_GET["messaggio"])) echo "
<p><strong>{$msgs[$_GET["messaggio"]]}</strong></p>\n";
if(!isset($_SESSION["authrzd"])) :
?>
<h3>Per accedere, inserire username e password <br /> e premere il pulsante
"Invia"</h3>
<br /><br />
<form method="post" action="materiali/logexe.php?action=login">
<fieldset>
<label class="row" for="usnm">Username:</label><br />
<input type="text" id="usnm" size="30" maxlength="30" name="usnm" /><br /><br />
<label class="row" for="uspw">Password:</label><br />
<input type="password" id="uspw" size="30" maxlength="30" name="uspw" /><br /><br />
<br /><br />
<input type="submit" name="Invia" value="Invia" />
<input type="reset" name="Cancella" value="Cancella" />
</fieldset>
</form>
<?php else : ?>
<h1>Archivio materiali</h1>
<p>Utente in sessione: <strong><?php echo $_SESSION["usernm"]; ?></strong> -
<a href="materiali/logexe.php?action=logout">logout</a></a></p>
<p>Per una corretta visualizzazione dei testi presenti, &egrave; necessario
installare nel sistema i font greci (i quali dovranno poi essere usati nella
stesura dei testi nuovi) scaricabili ai seguenti link,:</p>
<p><a href="materiali/greek.ttf">Font greco tondetto</a></p>
<p><a href="materiali/greeki.ttf">Font greco corsivo</a></p>

<h4>Materiali</h4>
<p><a href="materiali/test_001.rtf">Test n. 1</a></p>
<?php endif; ?>

Ora. mi servirebbe una cosa leggermente piu complessa:
una pagina destinata a 4 utenti ciascuno con rispettivi username e password,
e a seconda di chi si tratta dovrebbe aprirsi la sua pagina.. Insomma
se metto utente1 e password1 si apre in automatico la pagina 1 ecc.
Si puà fare?

Grazie
M
samiel
Staff
Staff
 
Messaggi: 5419
Iscritto il: ven gen 16, 2004 1:00
Località: Venezia
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian

Re: Pagina con password "a scelta multipla"

Messaggioda ermes » lun mag 28, 2012 22:01

mi pare proprio di si.
se ho capito bene, la username è contenuta in $_SESSION["usernm"]... quindi dovrebbe bastare una cosa simile:

Codice: Seleziona tutto
switch($_SESSION["usernm"]){
     case "utente1":
                ... pagina da visualizzare per l'utente 1...
                break;
     case "utente2":
                ... pagina da visualizzare per l'utente 2...
                break;
...
      }


per pulizia e successive manutenzioni, se il codice da mettere per ogni utente è molto lungo e il file diventa illeggibili puoi sempre sostituirlo con un "include"

Codice: Seleziona tutto
switch($_SESSION["usernm"]){
     case "utente1":
                include(pagina_utente_1.php);
                break;
     case "utente2":
                include(pagina_utente_2.php);
                break;
...
      }
Avatar utente
ermes
Linux 2.4
Linux 2.4
 
Messaggi: 338
Iscritto il: dom feb 20, 2005 1:00
Località: Rho (Mi)
Slackware: current 64
Desktop: kde

Re: Pagina con password "a scelta multipla"

Messaggioda joseph » mer mag 30, 2012 0:48

oppure puoi usare al posto dell'include:

Codice: Seleziona tutto
switch($_SESSION["usernme"]){
     case "utente1":
                header('Location: utente1.php');
                break;
     case "utente2":
                header('Location: utente2.php');
                break;
ecc...
      }
Avatar utente
joseph
Linux 2.4
Linux 2.4
 
Messaggi: 200
Iscritto il: lun giu 14, 2010 23:50
Località: Salerno
Slackware: 13.37
Kernel: 3.2.9
Desktop: xfce

Re: Pagina con password "a scelta multipla"

Messaggioda samiel » sab giu 02, 2012 0:05

Scusate il ritardo nella risposta,
ma è un periodo parecchio complicato.
Vedo di provare in questi giorni,
intanto mille grazie

M
samiel
Staff
Staff
 
Messaggi: 5419
Iscritto il: ven gen 16, 2004 1:00
Località: Venezia
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti