Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 33

Discussione: login accesso

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    122

    login accesso

    Il form di accesso se trova errore esce giustamente l'errore nell'if mentre se inserisco i dati giusti non viene reindirizzato a form1.php ma rimane su questa pagina di login...


    Codice PHP:
    <?php // Includo la connessione al database require('config.php');   // Se il modulo viene inviato... if(isset($_POST['login'])) {          // Dati Inviati dal modulo     $user = (isset($_POST['user'])) ? trim($_POST['user']) : '';    // Metto nella variabile 'user' il dato inviato dal modulo, se non viene inviato dò di default ''     $pass = (isset($_POST['pass'])) ? trim($_POST['pass']) : '';    // Metto nella variabile 'pass' il dato inviato dal modulo, se non viene inviato dò di default ''          // Filtro i dati inviati se i magic_quotes del server sono disabilitati per motivi di sicurezza     if (!get_magic_quotes_gpc()) {         $user = addslashes($user);         $pass = addslashes($pass);     }          // Crypto la password e la confronto con quella nel database     $pass = md5($pass);          // Controllo l'utente esiste     $query = mysql_query("SELECT id FROM accesso WHERE user = '$user' AND pass = '$pass'");          // Se ha trovato un record     if(mysql_num_rows($query) == 1)     {         // prelevo l'id dal database         $login = mysql_fetch_array($query);                  // Creo una variabile di sessione         $_SESSION['login'] = $login['id'];                  // reindirizzo l'utente         header("Location:form1.php");     }     // se non esiste da l'errore     else         die('Nome Utente o Password errati'); } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Login</title> </head>  <body> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">  <input name="user" type="text" id="user" />
      <input name="pass" type="password" id="pass" />
      <input name="login" type="submit" value="Login" />
     </form> </body> </html>

  2. #2
    Il reindirizzamento deve essere assoluto es.
    codice:
    header("Location:http://www.aaaaa.com/form1.php");

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    122
    Siamo sicuri che sia da mettere assoluto, a me solitamente funziona anche senza.

    Comunque pultroppo non è quello, fa ancora come prima.

  4. #4
    Potresti postare il codice in un altro modo? (Su più linee)

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2005
    residenza
    http://www.okkioalprezzo.com/it/
    Messaggi
    206
    se ti trovi nello stesso livello metti:

    header("Location:form1.php");

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    122
    Ho fatto altri test...

    praticamente se non metto il controllo sulla pagine dell'area riservata ma collego il form login a una qualsiasi pagina statica, il login funziona...

    Credo che l'errore sia nel controllo:

    if(!isset($_SESSION['login']))
    {
    header('Location: index.php');
    }

  7. #7
    In teoria può essere scritto anche come aveva fatto lui però su alcuni browser non funziona.

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    122
    Cosa intendi il reindirizzamento?

  9. #9
    Sì.
    Comunque puoi postare il codice su più righe?

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    122
    <?php
    // Includo la connessione al database
    require('config.php');


    // Se il modulo viene inviato...
    if(isset($_POST['login']))
    {

    // Dati Inviati dal modulo
    $user = (isset($_POST['user'])) ? trim($_POST['user']) : ''; // Metto nella variabile 'user' il dato inviato dal modulo, se non viene inviato dò di default ''
    $pass = (isset($_POST['pass'])) ? trim($_POST['pass']) : ''; // Metto nella variabile 'pass' il dato inviato dal modulo, se non viene inviato dò di default ''

    // Filtro i dati inviati se i magic_quotes del server sono disabilitati per motivi di sicurezza
    if (!get_magic_quotes_gpc()) {
    $user = addslashes($user);
    $pass = addslashes($pass);
    }

    // Crypto la password e la confronto con quella nel database
    $pass = md5($pass);

    // Controllo l'utente esiste
    $query = mysql_query("SELECT id FROM accesso WHERE user = '$user' AND pass = '$pass' LIMIT 1");

    // Se ha trovato un record
    if(mysql_num_rows($query) == 1)
    {
    // prelevo l'id dal database
    $login = mysql_fetch_array($query);

    // Creo una variabile di sessione
    $_SESSION['login'] = $login['id'];

    // reindirizzo l'utente
    header("Location:form1.php");
    }
    // se non esiste da l'errore
    else
    die('Nome Utente o Password errati');
    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Login</title>
    </head>

    <body>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    <input name="user" type="text" id="user" />

    <input name="pass" type="password" id="pass" />

    <input name="login" type="submit" value="Login" />

    </form>
    </body>
    </html>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.