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

Discussione: comparazione stringhe

  1. #1

    comparazione stringhe

    ciao a tutti, sto usando il seguente codice per verificare la corrispondenza di 2 stringhe

    if(strcmp($opwd,$npwd)==0)
    {$errore=1;$str_errore.="le password non coincidono
    ";}

    facendo l'echo delle 2 variabili il risultato è identico ma se uso la funzione qui sopra ma va cmq in errore, come mai?

  2. #2
    o meglio, non va in errore ma mi da come risultato false...

  3. #3
    Utente di HTML.it L'avatar di skjobax
    Registrato dal
    Jan 2010
    Messaggi
    569
    Fa così anche con un semplice

    Codice PHP:
    <?php
    // ...

    if($pass1 != $pass2) echo "Le password non coincidono!
    ?>
    ?

  4. #4
    provo subito

  5. #5
    boh così funziona...
    con 2 pwd uguali va avanti
    con 2 diverse da il warning

    grazie mille

  6. #6
    L'if è corretto, prova così:

    Codice PHP:
    if(strcmp(trim($opwd), trim($npwd)) == 0)
    {
    $errore=1;$str_errore.="le password non coincidono
    "
    ;} 
    probabilmente la differenza tra le stringhr è data dal fatto che la funzione strcmp() effettua un confronto binary safe e magari nelle stringhe di sono caratteri di new line (\n).
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Utente di HTML.it L'avatar di skjobax
    Registrato dal
    Jan 2010
    Messaggi
    569
    @satifal ma 0 è true non false? Se è così nell if la condizione è se strcmp = 1 oppure false
    A volte la soluzione a un problema è sempre la più semplice...

  8. #8
    Originariamente inviato da skjobax
    @satifal ma 0 è true non false?
    Non capisco a costa tu ti riferisca, la funzione strcmp() restituisce < 0 se la prima stringa è < della seconda, > 0 in caso contrario e 0 nel caso in cui esse siano uguali (come da manuale)
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  9. #9
    Originariamente inviato da skjobax
    @satifal ma 0 è true non false? Se è così nell if la condizione è se strcmp = 1 oppure false
    Ma non ti e' venuto in mente che leggere sul manuale cosa fa strcmp() invece di supporlo sarebbe stata una buona idea?

    Domande come questa sono solo una perdita di tempo sia per chi le fa sia per chi risponde.

  10. #10
    Originariamente inviato da satifal
    L'if è corretto, prova così:

    Codice PHP:
    if(strcmp(trim($opwd), trim($npwd)) == 0)
    {
    $errore=1;$str_errore.="le password non coincidono
    "
    ;} 
    probabilmente la differenza tra le stringhr è data dal fatto che la funzione strcmp() effettua un confronto binary safe e magari nelle stringhe di sono caratteri di new line (\n).
    ciao, giusto per vedere ho provato anche col tuo codice ma non va bene...

    grazie mille comunque

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 © 2024 vBulletin Solutions, Inc. All rights reserved.