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

    Case sensitive in MySQL

    Ciao!

    Allora ho un problema, ho un sistema di registrazione degli utenti (legato a MySQL) e vorrei che il sistema permettesse la registrazione solo agli utenti non uguali come maiuscole e minuscole... ESEMPIO:

    Io mi registro come socci4, arriva un altro e si registra come SOCCI4, il sistema normale me lo accetta, ma io voglio che non lo accetti! Deve dire che esiste già un utente con lo stesso username! E poi anche un altra cosa, se io mi registro sempre come socci4 e arriva un altro che si registra come socci45 il sistema me lo accetta lo stesso, ma io voglio che non lo accetti!

    Qualcuno mi sa aiutare?

    Non so proprio come fare

  2. #2
    Setta il campo come UNIQUE e CASE SENSITIVE oppure BINARY, dipende dalla versione di mysql.

    Rimane sempre il fatto che socci4 e socci45 sono nomi diversi e questo lo devi gestire tu diversamente.


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

  3. #3
    Si ma poi anche per il login vale... cioè poi nel login socci4 diventa uguale a Socci4... Non esiste una stringa del php?

    Cmq nn hai capito... Voglio che diventi CASE INSENSITIVE solo però nella registrazione... per il login deve essere case sensitive... per quell'altro dei numeri come posso fare?

  4. #4
    Sicuramente non ho capito nemmeno ora.

    Se l'utente puo' scrivere come gli pare maiuscolo o minuscolo ... che te frega di come e' scritto nel database. Basta che non sia doppio e per questo ci pensa UNIQUE. E quindi non serve BINARY.

    Per il resto sono nomi diversi e devi valutare tu quanto un nome possa essere simile ad altro gia' esistente. Usando php, perche' il database non puo' saperlo.


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

  5. #5
    Allora, mi spiego meglio...

    E' una chat e ci sono dei rompiballe che si registrano con il mio nick (amministratore) come SOCCI4 o degli altri admin o anche di altri utenti e rompono le scatole... io voglio che se qualcuno si registra come un utente già esistente ma cambiando solo maiuscole e minuscole non lo deve far registrare, cioè per esempio SoCcI4 e simili... capito? Però voglio che questo sia controllato da PHP non da MySQL...

    Per il fatto dei numeri in + come posso fare con il php?

  6. #6
    Se' il nome che vuoi inibire e' solo quello, metti il campo nella tabella come unique, poi prima di inserire fai una if e verifichi la prime 4-5 lettere del nick...
    codice:
    $nome = 'SoCCI456';
    
    if(strtolower(substr($nome, 0, 5)) == 'socci' ) {
    
    echo "affanculo pirla";    }

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

  7. #7
    no la verifica deve avvenire su TUTTI i nick del database (circa 300 )...

    Questo codice cosa fa precisamente??

  8. #8
    Originariamente inviato da socci4
    no la verifica deve avvenire su TUTTI i nick del database (circa 300 )...

    Questo codice cosa fa precisamente??
    Ti do delle idee e tu le devi mettere in pratica con un po' di fantasia. un occhio al manuale per le funzioni.

    se vuoi unicita' mantenendo allo user la possibilita' di scrivere maiuscolo o minuscolo come gli pare, un mezzo e' quello di inserire tutti i nomi rigidamente in minuscolo.

    Questo lo puoi fare con strtolower():

    $user = strtolower($_POST['user'];

    A questo punto in qualunque modo venga scritto sara' memorizzato in minuscolo. Ora se non vuoi similitudine nei nomi devi stabilire a quante lettere minimo deve ammontare l'univocita'.

    Se vuoi proteggere un certo numero di nomi li puoi mettere in un array da gestire con in_array(). Altrimenti devi inventarti un modo per salvaguardare alcune univocita' nel modo che intendi tu e che non posso sapere io.

    Poi con una select verifichi che non ci sia questa tua definita similitudine, e se non ci sono riscontri inserisci il nome.


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

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.