Repository 32bit  Forum
Repository 64bit  Wiki

Pagina con password "a scelta multipla"

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
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 della regola 5 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 21: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: 5500
Iscritto il: ven gen 16, 2004 0: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 21: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: 340
Iscritto il: dom feb 20, 2005 0:00
Località: Rho (Mi)
Slackware: current 64
Desktop: kde

Re: Pagina con password "a scelta multipla"

Messaggioda joseph » mar mag 29, 2012 23: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: 205
Iscritto il: lun giu 14, 2010 22:50
Località: Salerno
Slackware: 13.37
Kernel: 3.2.9
Desktop: xfce

Re: Pagina con password "a scelta multipla"

Messaggioda samiel » ven giu 01, 2012 23: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: 5500
Iscritto il: ven gen 16, 2004 0: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 4 ospiti