io vorrei mettere un blocco ad alcune pagine
del mio sito
cioe che solo gli utenti registrati possono accedere
e se non si e registrati voglio che appaia un messaggio di errrore
con scritto:
non sei ancora registrato tra pochi secondi verrai re-indirizzato alla pag di iscrizione
e dopo voglie che l'utente non registrato venga reindirizzato
alla pagina iscriviti.html
se no se sei registrato vieni automaticamente reindirizzato alla pagina download.html
poi voglio che ci sia anche integrato un login
cioe questo:
Codice PHP:
<?php
session_start();
$utente = ((isset($_SESSION['utente']))?($_SESSION['utente']):(false));
/* session_start - Inizializza i dati di sessione
creando una sessione (o riprendendo quella corrente).
N.B. session_start() va messo all'inizio delle pagine php e prima del codice HTML*/
/*$_SESSION['log'] è la prima variabile di sessione che utilizzeremo.
In questo esempio $_SESSION['log'] contiene un valore asseganto nella pagina di login,
che vedremo più avnti, che in pratica assume due valori (da noi stabiliti): 0 se
l'utente non ha effettuato il login e 1 se l'utente ha effettuato il login.
Nell'esempio concreto impediamo ad un utente logato di effettuare un'altra iscrizione*/
if ($_SESSION['log'] == 1)
{
echo "
[b]<font clor="white">Sei già registrato![/b]
Per effettuare una nuova registrazione" .
"ritorna alla Home Page ed effettua il Logout.
";
echo "<a href=\"iscriviti.html\"><<< Clicca qui per ritornare alla Home Page</font></a></p>";
exit();
}
?>
<html>
<head>
<title>Registrazione</title>
<!-- Per comodita e completezza, nello svolgimento degli script,
utilizzeremo 2 javascript che ci permettono di contollare le seguenti azioni:
1. function ver() - la quale controlla che tuttti i campi del nostro form
di inserimento siano compilati.
2. function ControllaMail() - la quale controlla che l'email inserita sia
solo sintatticamente corretta (e non se realmente esistente).
Possiamo dire che il loro utilizzo in questo caso risulta
essere più adatto, rispetto a script equivalenti in php, in quanto gli javascript
vengono eseguiti sul lato client, mentre quelle php
passano al server (lato server) e poi restituite all'utente sotto forma di html. -->
<SCRIPT LANGUAGE="JavaScript">
function ver()
{
for (i=0; i<document.forms[0].elements.length; ++i)
if(document.forms[0].elements[i].value == "")
{
alert("Riempire tutti i campi!");
document.forms[0].elements[i].focus();
return false;
}
return true;
}
</SCRIPT>
<SCRIPT>
function ControllaMail()
{
EmailAddr = document.modulo.email.value;
Filtro = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-]{2,})+.)+([a-zA-Z0-9]{2,})+$/;
if (Filtro.test(EmailAddr))
return true;
else
{
alert("Controlla l'indirizzo e-mail inserito!");
document.modulo.email.focus();
return false;
}
}
</SCRIPT>
</head>
<body>
<!-- Procediamo costruendo il nostro form che passerà le informazioni inserite alla pagina data_insert.php.
Da notare:
1. action="data_insert.php?action=add&type=user" - che ci permette di passare le 2 variabili action e type,
con i loro rispettivi valori, add e user
2. il richiamo delle funzioni javascript al premere del pulsante "Conferma": onSubmit="return (ver() && ControllaMail());" -->
<form name="modulo" action="data_insert.php?action=add&type=user" method="post" onSubmit="return (ver() && ControllaMail());">
<font color="white">Nome</font>
<input name="firstname" type="text" size="25" maxlength="30">
<font color="white">Cognome</font>
<input name="lastname" type="text" size="25" maxlength="30">
<font color="white">Username</font>
<input name="user" type="text" size="20" maxlength="11">
<font color="white">Password</font>
<input name="pass" type="password" maxlength="8">
<font color="white">E-mail</font>
<input name="email" type="text" size="40" maxlength="50">
<input type="submit" name="Submit" value="Iscriviti">
</form>
</p>
</body>
</html>
E DOPO FATTO IL LOGIN SI VIENE RE INDIRIZZATI ALLA PAGINA DOWNLOAD.HTML