aiuto creazione pagina login

onebill964

Utente Attivo
21 Giu 2009
46
0
0
venezia
ciao a tutti sono nuovo di questo forum e di php...,prima di tutto complimenti molto interessante.sto provando ad inserire nel mio sito una sezione per registrazione utenti seguendo il tutorial "Un sistema di registrazione utenti con conferma e psw reminder" su questo sito in Articoli php.Funziona molto bene ma manca come descritto la pagina per il normale login all'area protetta che controllerà che i dati di autenticazione siano corretti e che all'utente che tenta di loggarsi corrisponda un account attivo. Ho provato a crearla ma senza successo.Ringrazio chiunque potrà aiutarmi
 

lotus

Utente Attivo
5 Mag 2009
543
8
0
prova a postare quello che hai realizzato tu così avremo una base sulla quale apportare le correzioni.


Ciro
 

onebill964

Utente Attivo
21 Giu 2009
46
0
0
venezia
pagina login

Ciao intanto grazie avevo buttato il file xkè non funzionava
in questo modo se si sbaglia di loggarsi mi restituisce l'errore ma se inserisco i dati esatti non mi reindirizza alla pagina riservata.penso che sia tutto sbagliato cmq grazie

<?php
session_start();
if( isset($_POST['submit']) && (trim($_POST['submit']) == "Login") )
{
if((!isset($_POST['email'])) || (!eregi("^([a-z0-9\._-]+)(@[a-z0-9.-]+)(\.{1}[a-z]{2,4})$", $_POST['email'])))
{
echo "Attenzione, formato email non valido.";
}
elseif((!isset($_POST['password'])) || ($_POST['password'] == "") || (!preg_match("/^[a-z0-9]+$/i", $_POST['password'])))
{
echo "Attenzione, password non corretta.";
}else{
$email = $_POST['email'];
$password = $_POST['password'];
@include "config.php";
//controllo sui dati nel db
$ctrl_login = @mysql_query("SELECT id FROM utenti WHERE email='$email' AND password='$password'") or die (mysql_error());
//se utente risulta attivo(1)apro sessione
if(@mysql_num_rows($ctrl_login)==1)
{
$_SESSION['id'] = $obj->id;
@header("Location: area_riservata.php");
}else{
echo "Login incorretto.";
echo "<a href=\"javascript:history.back()\">ritenta</a> o <a href=\"form_iscrizione.php\">iscriviti</a> dalla sezione apposita";

}
}
}
?>
<h1>Form login:</h1>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" 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="Login">
</form>
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao, l'istruzione

@header("Location: area_riservata.php");

deve essere la prima, prima di qualsiasi output html
se togli la @ dovresti vedere l'errore
che ti da php
io per evitare e mettere il reindirizzamento dove mi pare utilizzo

echo "<meta http-equiv='Refresh' content='0; URL=area_riservata.php'>";
 

onebill964

Utente Attivo
21 Giu 2009
46
0
0
venezia
pagina login

Ciao,grazie per la risposta appena possibile provo ad utilizzare il reindirizzamento che mi hai suggerito e ti so dire
 

onebill964

Utente Attivo
21 Giu 2009
46
0
0
venezia
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]
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
io usualmente tengo il form fuori dallif, cuie non faccio la parte else
PHP:
<?php
//.....
if( isset($_POST['submit']) && (trim($_POST['submit']) == "Conferma")){
//tutto quello che serve
//l'if e i controlli pass esempio
if($pass!= $pass_da_database){
echo "<meta http-equiv='Refresh' content='3; URL=pagina_di_log.php'>";
// nota content =3 secondi prima del reindirizzameno io in questo caso metto 0
// al posto ddel nome pag si può mettere
// URL=".$_SERVER['PHP_SELF']."'>"; per essere sicuri di tornare alla stessa pagina


}

}//fine dell'if e non metto l'else e fine del php
?>

<h1>Modulo di conferma:</h1>
<form action=" <?php echo.......?> >

<!-- tutto il form -->
</form>
 
Ultima modifica:

onebill964

Utente Attivo
21 Giu 2009
46
0
0
venezia
pagina login

ciao grazie infinite sono riuscito a sistemare e sembra funzionare come
volevo. un ultima cosa se ti è possibile un suggerimento per creare il logout
dall'area riservata che chiuda la sessione
grazie ancora
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Questa soluzione va bene per il logout da qualsiasi sessione di login:
PHP:
<?php
session_start();
$_SESSION = array();
if (isset($_COOKIE[session_name()])) {
    setcookie(session_name(), '', time()-42000, '/');
}
session_destroy();
?>
 
Discussioni simili
Autore Titolo Forum Risposte Data
L Aiuto creazione menu mancante WordPress 0
S [PHP] Aiuto creazione form php per completamento modello word PHP 1
P [PHP] aiuto creazione login PHP 16
T Aiuto creazione database elementare MS Access 2
francesco7 Aiuto! Creazione di una tabella in MySql PHP 2
R Aiuto creazione php PHP 0
F Aiuto creazione sito web HTML e CSS 2
G Creazione nuovo database! AIUTO! MySQL 3
Sevenjeak [Vb.net 2010] Aiuto creazione tack manager personalizzato .NET Framework 4
Sevenjeak Aiuto: creazione righello per editor Java 0
R richiesta aiuto da neofita per creazione sito web HTML e CSS 1
C Creare logo per un sito web [era: Aiuto per creazione logo] Webdesign e Grafica 2
S [Vb.net] Aiuto nella creazione di una ricorsione .NET Framework 1
S aiuto per creazione/modifica template HTML e CSS 7
T Cerco Web master per aiuto nella creazione di sito web flash Offerte e Richieste di Lavoro e/o Collaborazione 2
M aiuto creazione sito PHP 4
P joomla: visualizzazione webcam dopo pagamento [era:Creazione sito particolare. Aiuto] Joomla 5
P Aiuto Creazione Chat particolare HTML e CSS 10
M Aiuto creazione slide immagini interattivo Ajax 4
S Aiuto con creazione script richiesta nome utente e password PHP 2
SolidSnake4 aiuto creazione template a 4 colonne HTML e CSS 8
B Aiuto creazione modulo preventivo Javascript 1
K Aiuto Creazione Url dinamici Classic ASP 1
C Aiuto creazione reinvio password utenti PHP 3
M Aiuto.....creazione menu!!!! HTML e CSS 4
Roob Aiuto per Creazione Wireless Lan Casalinga Reti LAN e Wireless 2
S Aiuto! Creazione di grafici PHP 1
G Aiuto creazione database Database 0
D aiuto per creazione pagine web con collegamenti a modello predefinito HTML e CSS 2
M cercasi aiuto nella creazione di un filamto in flash Flash 4
E Aiuto per query PHP 8
R Aiuto ripristino sito web Presentati al Forum 0
L Aiuto con DataGridView Visual Basic 1
F Aiuto! cambio immagine di sfondo al cambio pagina HTML e CSS 2
I aiuto urgente per thunderbird Posta Elettronica 0
I aiuto per outlook Posta Elettronica 0
D aiuto funzioni javascript Javascript 1
T aiuto per trasformare un quiz fatto in JS in un quiz in JQUERY jQuery 0
D Aiuto CSS in ELEMENTOR - Cambiare un testo CMS (Content Management System) 0
M Fullcalendar in Codeigniter, un aiuto per la chiamata $ajax ? jQuery 0
K Aiuto con file audio in html HTML e CSS 1
G Script notifiche dekstop aiuto Javascript 0
P Aiuto per rendere un Bot Telegram Privato PHP 1
M Un aiuto da chi ha apple Mac e Software 0
P Richiesta di aiuto Presentati al Forum 1
A Aiuto per pagina php PHP 0
M Questa pagina non carica correttamente Google Maps: aiuto!! HTML e CSS 1
I Aiuto php Dependent Lookup PHP 0
R Aiuto con le query MS Access 2
M AIUTO ESERCIZIO JAVA Javascript 1

Discussioni simili