• User

    Boh, non so cosa dire....ancora mi da errore...perfavore, aiutami tu...dimmi se secondo tè c'è qualche errore.
    Questa è la pagina login.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 utenti 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: privata.php');
    exit;
    }
    // se non esiste da l'errore
    else
    die('Nome Utente o Password errati');
    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
    <html xmlns="">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Login</title>
    </head>
    <body>
    <form action="" method="post">
    <input name="user" type="text" id="user" value="Nome Utente" onfocus="if(this.value=='Nome Utente') this.value='';" /><br />
    <input name="pass" type="password" id="pass" value="Password" onfocus="if(this.value=='Password') this.value='';" /><br />
    <input name="login" type="submit" value="Login" /><br />
    </form>
    </body>
    </html>

    Mentre questo è il database:

    • phpMyAdmin SQL Dump
      -- version
      -- "link di php my admin"
      -- Host: mysql5.netsons.org
      -- Generato il: 02 Set, 2008 at 10:56 PM
      -- Versione MySQL: 5.0.51
      -- Versione PHP: 5.2.6-0.dotdeb.1
      --
      -- Database: ture70
      --

    --
    -- Struttura della tabella utenti

    CREATE TABLE utenti (
    id int(30) NOT NULL auto_increment,
    Nome varchar(30) NOT NULL,
    Cognome varchar(30) NOT NULL,
    user varchar(30) NOT NULL,
    pass varchar(30) NOT NULL,
    mail varchar(30) NOT NULL,
    PRIMARY KEY (id)
    ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

    -- Dump dei dati per la tabella utenti

    INSERT INTO utenti VALUES (1, 'Salvatore', 'Di Maria', 'Amministratore', '17041991', 'mio indirizzo e-mail');

    Mi dice che la password o il nome utente sono sbagliati


  • ModSenior

    la password nel database va inserita in hash md5


  • User

    cioè??? cosa dovrei fare???


  • ModSenior

    <?php echo md5('Di Maria'); ?>
    ti restituisce l'hash della password devi mettere quello nel database


  • User

    scusami, non prendermi per stupido ma non ho ancora capito....


  • ModSenior

    La password non devi inserirla normalmente, perchè nello script di login la cerca cryptata quindi tu devi inserirla cryptata altrimenti da password errata...


  • User

    Benissimo!!!!!!! Perfetto!!!! Finalmente funziona...ho levato dalla pagina login.php il pezzo che cripta la password (anche perchè è un sito personale non mi interessa molta protezione)...grazie 1000!!!!!! Sei stato molto paziente e mi hai aiutato tanto...grazie ancora....ciao!!!!


  • ModSenior

    prego

    ciao


  • User

    hem...posso chiedervi un altra cosuccia???
    Allora, vorrei creare una sezione del sito dedica solo alla mia classe.
    Così ho creato nel database la tabella "classe" (era già presente la tabella "utenti")
    ho creato il file config1.php (config.php esisteva già per il login degli altri utenti)
    Nel file config.pHp sotto $db_name= 'ture70' ho inserito
    $table= 'classe' //per farlo connettere alla tabella della classe

    e ho inserito un solo utente nella tabella (l' utente è inserito sia nella tabella "utenti" che in quella "classe")

    provando a fare il login nella sezione della mia classe anche chi è registrato SOLO nella tabella utenti (e non nella tabella "classe") viene fatto entrare...perchè???
    dove sbaglio???

    grazie 1000 ancora una volta


  • ModSenior

    che codice usi dopo?


  • User

    beh...nel file config.php il codice è questo:

    <?php
    // avvio la sessione
    session_start();
    // Dati connessione al database
    $db_host = 'mysql5.netsons.org'; // Host - solitamente localhost
    $db_utente = 'ture70'; // Nome utente del Database
    $db_password = 'sebastiano'; // Password del Database
    $db_nomedb = 'ture70'; // Nome del Database
    $db_table= 'classe';
    // Effettua la connessione al database
    $dbh=mysql_connect ($db_host, $db_utente, $db_password) or die ('Errore nella stringa di connessione al database: '.mysql_error());
    mysql_select_db($db_nomedb);
    ?>


  • ModSenior

    bisogna controllare la query... non la connessione


  • User

    nn ho capito cosa vuoi sapere, cmq di query ho trovato questo nel database:

    id,Nome,Cognome,user,pass,mailSELECT * FROMclasse`
    WHERE 1
    LIMIT 0 , 30


  • ModSenior

    nel codice della pagina di login ci deve essere una cosa tipo:

    mysql_query("SELECT * FROM ...........");


  • User

    $query = mysql_query("SELECT id FROM utenti WHERE user = '$user' AND pass = '$pass' LIMIT 1");

    devo cambiare utenti con classe???


  • ModSenior

    direi proprio di si...