pagina login
ciao,ho provato a fare come suggerito e funziona,ora però testando lo script ho notato che se inserisco una psw errata sparisce il form!!
provo a postare il codice del file conferma.php(dal quale ho provato a creare il login) che l'utente appena iscritto raggiunge tramite un link nella mail che gli viene inviata ,dove una volta reinseriti i dati viene controllato che siano presenti in tabella e quindi con un uplode nella tabella viene attivato portando il settaggio da 0 a 1.quello che volevo fare era semplicemente il form di login per l'utente già iscritto ,
che dovrebbe solamente verificare che i dati siano inseriti nel database e soprattutto che il settaggio sia a 1 cioè attivo quindi in caso positivo reindirizzarlo all'area riservata oppure rimandarlo al form login e invitarlo ad iscriversi.Purtroppo ci capisco sempre meno!
conferma.php
PHP:
session_start();
// controllo sul parametro d'invio
if( isset($_POST['submit']) && (trim($_POST['submit']) == "Conferma") )
{
// controllo sul formato dell'email
if((!isset($_POST['email'])) || (!eregi("^([a-z0-9\._-]+)(@[a-z0-9.-]+)(\.{1}[a-z]{2,4})$", $_POST['email'])))
{
echo "Attenzione, formato email non valido.";
}
// controllo sul formato della password
elseif((!isset($_POST['password'])) || ($_POST['password'] == "") || (!preg_match("/^[a-z0-9]+$/i", $_POST['password'])))
{
echo "Attenzione, password non corretta.";
}else{
// se i parametri sono in formato corretto interroghiamo il database
$email = $_POST['email'];
$password = $_POST['password'];
// includiamo il file di configurazione
@include "config.php";
// controlliamo se i parametri sono presenti in tabella
$ctrl_login = @mysql_query("SELECT id FROM iscrizioni WHERE email='$email' AND password='$password'") or die (mysql_error());
if(@mysql_num_rows($ctrl_login)==0)
{
// esito login negativo
echo "Login incorretto.";
}else{
// esito login positivo quindi rendiamo l'utente attivo
$obj = @mysql_fetch_object($ctrl_login) or die (mysql_error());
$query_attivo = @mysql_query("UPDATE iscrizioni SET attivo='1' WHERE id=".$obj->id) or die (mysql_error());
// creiamo un id di sessione corrispondente all'utente
$_SESSION['id'] = $obj->id;
// redirect alla pagina degli iscritti
@header("Location: iscritti.php");
}
}
}else{
// form per la conferma
?>
<h1>Modulo di conferma:</h1>
<form action="
echo $_SERVER['PHP_SELF']; [/php]" method="post">
Email:<br>
<input name="email" type="text" size="20"><br>
Password:<br>
<input name="password" type="password" size="20"><br>
<input name="submit" type="submit" value="Conferma">
</form>
<?
}
?>[/PHP]