Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Problema interrogazione tabella del database

    Salve a tutti,
    avrei un piccolo problema che potrebbe essere anche grande!
    Sto seguendo una guida per la connessione al database , precisamente questa:

    L'autenticazione di HTML.IT

    sto lavorando in locale.

    la registrazione della guida funziona e riesco ad inserire tutti i campi nel db, ma se provo a fare il login, il codice si ferma all'interrogazione della tabella esattamente a questa riga:

    Codice PHP:
    $auth $data->query("SELECT nome FROM utente WHERE nick='$username' AND password='$password1'") or die("ERRORE: " mysql_error()); 
    me ne accorgo perchè non mi stampa : echo "controllo campi in tabella"; che ho sistemato subito dopo la query (vedi codice completo in basso)

    nel mio db la tabella è: utente, il campo da prelevare è: nome e i campi da verificare nick e password quindi:

    |utente|
    | id_user | nome | nick | password |

    (le classi per la connessione e la disconnessione al db sono nella stessa guida a cui ho fatto riferimento prima)

    sembra essere tutto corretto ma non capisco come mai il codice non va più avanti, qualcuno sa aiutarmi?...posto il codice della pagina login.php:


    Codice PHP:
    <?php
    // inizializzazione della sessione
    session_start();
    // se la sessione di autenticazione 
    // è già impostata non sarà necessario effettuare il login
    // e il browser verrà reindirizzato alla pagina di scrittura dei post
    if (isset($_SESSION['login']))
    {
     
    // reindirizzamento alla homepage in caso di login mancato
     
    header("Location: gestisci.php");

    // controllo sul parametro d'invio
    if(isset($_POST['submit']) && (trim($_POST['submit']) == "Accedi"))

      
    // controllo sui parametri di autenticazione inviati
      
    if( !isset($_POST['username']) || $_POST['username']=="" )
      {
        echo 
    "Attenzione, inserire la username.";
      }
      elseif( !isset(
    $_POST['password']) || $_POST['password'] =="")
      {
        echo 
    "Attenzione, inserire la password.";
      }else{
        
    // validazione dei parametri tramite filtro per le stringhe
        
    $username trim(filter_var($_POST['username'], FILTER_SANITIZE_STRING));
        
    $password trim(filter_var($_POST['password'], FILTER_SANITIZE_STRING));
        
    $password sha1($password);
        
    // inclusione del file della classe
        
    include "funzioni_mysql.php";
        
    // istanza della classe
        
    $data = new MysqlClass();
        
    // chiamata alla funzione di connessione
        
    $data->connetti();
    echo 
    "interrogo tabella con utente: $username e pass: $password"//utente e password vengono stampati
        // interrogazione della tabella
        
    $auth $data->query("SELECT nome FROM utente WHERE nick='$username' AND password='$password' ") or die ("ERRORE: " mysql_error());

     echo 
    "controllo i campi in tabella";

        
    // controllo sul risultato dell'interrogazione
            
    if(mysql_num_rows($auth)==0)
        {
            
    // testo in caso di insuccesso
              
    echo "errore login";
        }else{
              
    // chiamata alla funzione per l'estrazione dei dati
          
    $res =  $data->estrai($auth);
              
    // creazione del valore di sessione
          
    $_SESSION['login'] = $res-> id_login;
              
    // disconnessione da MySQL
              
    $data->disconnetti();
            
    // testo in caso di successo
              
    echo "disconnesso";
        }
      } 
    }else{
      
      
    ?>
    ISCRIVITI
      <?
    }
    ?>
    il form per il login viene da un'altra pagina accesso.php:

    codice:
    <div id="right">
    <h6>Effettua l'accesso!</h6>
    <form action="login.php" id="login" method="post" id="login"> 
    
    
    <label for="user">Nome utente</label><input type="text" name="username" /></p>
    
    
    <label for="password">Password</label><input type="password" name="password" /></p>
    
    
    <input name="submit" type="submit" value="Accedi" /></p>
    </form>
    </div>

    Grazie.
    GIGINO

  2. #2
    c'è qualcuno che ha visitato la discussione?
    GIGINO

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.