Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2011
    residenza
    Napoli
    Messaggi
    6

    problema in pagina login

    Salve,
    Ho un problema nella pagina di login. In pratica una volta fatto il controllo di username e password e salvato username nella sessione, devo salvare in una sessione anche il gruppo dell'utente. Ecco il code:


    Codice PHP:
    <?php
    session_start
    ();
    include(
    "config.php");
    mysql_connect($dbhost$dbuser$dbpass);
    mysql_select_db($dbname);
    ?>
    <html>
    <head>
    <title><?php echo $title?>
    </title>
    </head>
    <body>
    <?php
    if (!isset($_SESSION['username'])) {
        if (isset(
    $_POST['login'])) {
            
    $username mysql_real_escape_string($_POST['user']);
            
    $password mysql_real_escape_string(sha1($_POST['pass']));
            
    $select "SELECT * FROM personale WHERE user='$username' AND password='$password'";
            
    $query mysql_query($select) or die("Errore: " mysql_error());
            
    $gruppo mysql_fetch_array($queryMYSQL_ASSOC);
            if (
    $query) {
                
    $_SESSION['username'] = $username;
                
    $_SESSION['group'] = $gruppo['gruppo'];
                
    header("Location: index.php");
            } else {
                
    session_destroy();
                echo 
    "Username o Password errato.";
                 
    header("refresh:1;url=login.php");
             }
        } else {
    ?>
        <form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
        <input type="text" name="user">
        <input type="password" name="password">
        <input type="submit" name="login">
        </form>
        <?php
     
    }
    } else { 
    header("Location: index.php"); }
    ?>
    </body>
    </html>
    Ho fatto tutte le prove possibili ma non riesco, l'array $gruppo['gruppo'] è vuoto... dov'è l'errore? Non capisco.
    Se avete qualche consiglio da dare, accetto volentieri.

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Prova a stampare la query e vedi se è corretta, prova anche ad eseguirla direttamente sul db con phpmyadmin e vedi se recupera i dati che ti apetteresti.

  3. #3
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    tra l'altro

    Codice PHP:
    $query mysql_query($select) or die("Errore: " mysql_error());
    $gruppo mysql_fetch_array($queryMYSQL_ASSOC);
    if (
    $query) {
        .... 
    E' errato: $query conterrà una risorsa anche se la select da zero righe. In breve la login sarà sempre valida, anche con username e password errati. dovresti fare l'if su $gruppo o usare mysql_num_rows per capire se l'utente è nel db

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2011
    residenza
    Napoli
    Messaggi
    6
    RISOLTO!! Prima di tutto ho usato $_POST invece di $_GET e poi in $_POST['pass'] dovevo mettere $_POST['password'] altrimenti non richiamava il textbox. Poi ho fatto il conteggio dei record della $query quindi con mysql_num_rows... e se >0 allora fa il login altrimenti dà errore. Se conoscete un metodo più "professionale" o più "veloce" fatemi sapere subito. Intanto per me così funziona, non so se è più sicuro o meno.
    Consigliatemi!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.