Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: Problema al login

  1. #1
    Utente di HTML.it L'avatar di Psyko83
    Registrato dal
    Mar 2006
    Messaggi
    424

    Problema al login

    Salve a tutti,
    ho un problema al login creato in php, il quale recupera username e password da un db mysql.
    Se la username è tipo "editore" allora mi fa entrare tranquillamente;
    Ma se creo un utente con username "editore@alice.it" mi da quest'errore: Query fallita: Data too long for column 'Username' at row 1
    Mi sono anche stampato la query, ed è corretta, infatti se la lancio da mysql, mi funziona correttamente!!!
    Potreste aiutarmi?

    Grazie

  2. #2
    Guarda la struttura della tabella ed in particolare la lunghezza del campo username

  3. #3
    Concordo! Definisci il Campo email in sql in questo modo:

    email varchar(30)

    // dagli almeno 20, 30 caratteri, se no è naturale che hai quell' errore.
    www.gicchesto.com
    Servizi informatici ed elettronici a 360° per aziende e/o privati.

  4. #4
    Utente di HTML.it L'avatar di Psyko83
    Registrato dal
    Mar 2006
    Messaggi
    424
    ah avevo dimenticato questo particolare, io ho impostato varchar(50) quindi c'è un bel margine!

  5. #5
    Cioe? l avevi gia impostata a 50? e non va ancora bene?
    Oppure l hai impostata a 50 e ora va bene? fammi capire!
    e poi come hai fatto il log in? tramite username e password o tramite email e password?
    spiegati per bene, ho dei login funzionanti pronti pronti che ti posso postare cosi spero di risolverti il problema alla svelta.
    www.gicchesto.com
    Servizi informatici ed elettronici a 360° per aziende e/o privati.

  6. #6
    Utente di HTML.it L'avatar di Psyko83
    Registrato dal
    Mar 2006
    Messaggi
    424
    Dunque avevo già impostato varchar(50) ma purtroppo non funziona.
    Il login richiede come username una email (tipo: pippo@alice.it) e una password
    Ma purtroppo mi da quell'errore, pensavo fosse un problema di @ ma nemmeno quello è il problema.
    Se mi faccio stampare la query, e la lancio da mysql, non mi da nessun errore e mi funziona correttamente!!

  7. #7
    Sarebbe quindi utile vedere il codice usato e che ti da l'errore.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    Utente di HTML.it L'avatar di Psyko83
    Registrato dal
    Mar 2006
    Messaggi
    424
    Il codice è:

    $username=$_POST['username'];
    $password=$_POST['password'];

    # Query
    $query="SELECT nominativo,username,password,attivo,livello FROM tbl_amministratori WHERE (username='".$username."') AND (password='".$password."') AND (attivo='SI')";

    che poi lancio la query con la solita funzione: mysql_query($query) or die("Query fallita: " . mysql_error() );

    Ma il tutto funziona se uso come username una stringa tipo editore, pippo ecc ecc
    ma se uso editore@live.it o cose del genere mi da quell'errore...

  9. #9
    Originariamente inviato da Psyko83
    Ma il tutto funziona se uso come username una stringa tipo editore, pippo ecc ecc
    ma se uso editore@live.it o cose del genere mi da quell'errore...
    posta la struttura della tabella, la puoi ricavare eseguendo:

    show create table tbl_amministratori

    se stai usando uno script non tuo, potrebbe esserci un controllo su qualcosa che non conosci oppure molto semplicemente il campo del form ti "taglia" o modifica la stringa.

    Prova a stampare la stringa ottenuta per la query:

    echo $query;

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #10
    Originariamente inviato da Psyko83
    Il codice è:

    $username=$_POST['username'];
    $password=$_POST['password'];

    # Query
    $query="SELECT nominativo,username,password,attivo,livello FROM tbl_amministratori WHERE (username='".$username."') AND (password='".$password."') AND (attivo='SI')";

    che poi lancio la query con la solita funzione: mysql_query($query) or die("Query fallita: " . mysql_error() );

    Ma il tutto funziona se uso come username una stringa tipo editore, pippo ecc ecc
    ma se uso editore@live.it o cose del genere mi da quell'errore...
    prova cosi:
    Codice PHP:
    //includi file di conn al db.
    // prendi email e pass dal form di login
    $posta=$_POST['email'];
    $pwd=$_POST['password'];

    $ris=mysql_query("select email,password from utenti");    
    $AffectedRows mysql_affected_rows($conn);
     if( 
    $AffectedRows==0) {
            echo 
    "Fallimento nell'esecuzione della query dal DB: " mysql_error();
            exit;
        }
        if(
    $_POST['invio'])
        {
        while (
    $riga mysql_fetch_array($ris))    {
    if(
    $posta=="amministratore"&&$pwd=="amministratore")
        {
        
    header("location:pagina_amministratore.php");
        exit;
        }
        
    $dec=base64_decode($riga['password']); //da fare se hai la pwd codificata
          
    if($riga['email']==$posta&&$dec==$pwd)
             {
             
    $bool=true;
            
             }
            if(
    $bool==true)
            {
            
    $_SESSION['nome']=$_POST['email'];
               
    header("location:home.php");
            exit;
            }
    else{
    header('location:home.php');
        }
        
        }

    www.gicchesto.com
    Servizi informatici ed elettronici a 360° per aziende e/o privati.

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.