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

    Confronto nick - case sensitive

    Salve a tutti, la mia è sicuramente una domanda stupida e quasi me ne vergogno

    Ho questo problema. Per non far registrare nick doppioni faccio un controllo se il nick esiste. Il problema è sul case sensitive, ovvero, BUKOWSKI e Bukowski per il mio DB sono due cose diverse, invece vorrei che fossero 2 nick uguali.

    Questi penso sono i 2 punti cardine:

    [..]tutta la query
    $query_general = "SELECT nick FROM $tbl WHERE nick = '$_POST[nick]'";
    [..]
    // se il nick è ok continua l'altro step
    if((preg_match("/^[a-z0-9_-]+$/i", $_POST['nick'])) && ($row_general['nick'] != $_POST['nick']) && ($_POST['pwd'] != ''));


    Cosa posso fare?

    Grazie mille
    Perchè uso Maxthon? | Mi piace questa chat

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    444
    beh, potresti ad esempio stabilire che sul db ci vanno nick tutti in minuscolo (prima di inserirli gli applichi strtolower()), così dopo sai che li sono sempre minuscoli.

    Ora, prima di fare un controllo nella query, prendi il tuo nick e metti anche questo in minuscolo

    Codice PHP:
    $query_general "SELECT nick FROM $tbl WHERE nick = '" strtolower($_POST[nick]) . "'"
    *********************************
    Andrea
    *********************************

  3. #3
    Ci avevo pensato ma sinceramente non amo i nick in minuscolo ... sono una cosa personale ed è l'unica cosa estetica che una persona ha online ... io mi incacchierei a morte a chiamarmi "bukowski" con la b minuscola

    Quindi mantenendo i nick normali, come potrei fare?

    Grazie mille
    Perchè uso Maxthon? | Mi piace questa chat

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    444
    credo ci sia una funzione uguale a strtolower anche in MySQL (controlla su www.mysql.com), così fai

    WHERE mysqlperminuscolo(campo) = '" . strtolower($nick) . "'"
    *********************************
    Andrea
    *********************************

  5. #5
    Allora, il problema è qui:


    if((preg_match("/^[a-z0-9_-]+$/i", $_POST['nick'])) && ($row_general['nick'] != $_POST['nick']) && ($_POST['pwd'] != ''));


    e non sulla select. Infatti per la select non c'è problema sia se è minuscolo sia se è maiuscolo.

    Visto che sono un pò ignorante posso fare una cosa simile?

    (strtolower($row_general['nick']) != strtolower($_POST['nick']))

    Grazie per l'aiuto
    Perchè uso Maxthon? | Mi piace questa chat

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    444
    certo che puoi
    *********************************
    Andrea
    *********************************

  7. #7
    grazie di tutto, funziona perfettamente.

    Perchè uso Maxthon? | Mi piace questa chat

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.