Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439

    [php-MySql] checklogin() - dov'è la fagianata?

    Salve a tutti.

    Mi sono scritto due funzioni per generare login e password.
    Funzionano benissimo. Ho scritto una terza funzione che controlla se il login esiste, e qualora questo esista dovrebbe troncare l'ultima lettera di quello nuovo e aggiungerci un numero. L'ho provata ma non mi funziona...
    In pratica il login deve essere unico, per cui in caso di omonimi, non dovrebbero uscire due login uguali.
    Questa funzione dovrebbe fare così (ad esempio di due Mario Rossi):
    primo login: mariorossi
    secondo login: marioross0
    eventuale terzo login: marioross1
    etc. etc.

    Codice PHP:
    function checklogin($login) {
        
    $querycheck "miaquery WHERE login = '$login';";
        
    mysql_query($querycheck);
        if (
    mysql_affected_rows()==0) {
            return 
    $login;
        } else {
            
    $loginiscorrect false;
            while (
    $loginiscorrect == true) {
                
    $isnumber substr($login, (strlen($login)-1), 1); # prendo l'ultima lettera del login
                
    if (ctype_digit($isnumber)) { # se la stringa contiene un numero
                    
    $isnumber = (int) $isnumber++; # lo converto in numero e lo aumento di +1
                    
    $login substr($login0, (strlen($login)-1)); # prendo il login e gli tolgo l'ultima lettera
                    
    $login .= $isnumber# aggiungo al login il numero
                
    } else {
                    
    $login substr($login0, (strlen($login)-1)); # prendo il login e gli tolgo l'ultima lettera
                    
    $login .= "0"# al posto dell'ultima lettera ci metto uno 0
                
    }
                
    $querycheck "miaquery WHERE login = '$login';";
                
    mysql_query($querycheck);
                if (
    mysql_affected_rows()==0$loginiscorrect true;
            }
            return 
    $login;
        }

    Così facendo quando genero il login lo faccio con due funzioni:
    $jmlogin = generatelogin($nome, $cognome);
    dopodicchè controllo se esiste e qualora ne esista già uno ne creo uno diverso:
    $jmlogin = checklogin($jmlogin);
    わさび

  2. #2
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    uppete,
    nessuno ha un'idea? :master:
    わさび

  3. #3
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    uppete uppete
    inserendo due utenti con lo stesso nome e cognome la funzione checklogin() non mi ritorna un login cambiato, bensì continua a ritornare lo stesso nomecognome...
    non capisco xchè non funziona...
    わさび

  4. #4
    ti faccio natoare che hai scritto:

    - se mysql non ha trovato nessun risultato:
    ok: $login è giusto; return $login;
    - altrimenti:
    $login_is_correct = FALSE;
    while($login_is_correct = TRUE)
    {
    ...
    }


    mi sa che devi mettere while($login_is_correct = FALSE)

    errore banale

  5. #5
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    [supersaibal]Originariamente inviato da Insaponata
    ti faccio natoare che hai scritto:

    - se mysql non ha trovato nessun risultato:
    ok: $login è giusto; return $login;
    - altrimenti:
    $login_is_correct = FALSE;
    while($login_is_correct = TRUE)
    {
    ...
    }


    mi sa che devi mettere while($login_is_correct = FALSE)

    errore banale [/supersaibal]
    Siamo alle solite mie caxxate! Per quante volte rilegga lo script non mi salta all'occhio l'errore
    Grazie
    わさび

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.