Visualizzazione dei risultati da 1 a 3 su 3

Discussione: test stringhe?

  1. #1

    test stringhe?

    Salve a tutti, è da un ora che sto tentando di scrivere questa funzione ma continua a darmi problemi.

    la funzione dovrebbe aprire un file con dei nomi di utenti (nello specifico nel formato utente1|utente2|utente3 ) controllare se il nome passato è tra questi e restituire true o false, ma sembra che su questo if : if($curr==$nome_utente) il test delle due stringhe non sia mai vero (eppure la stringa con cui ho testato è nella prima posizione del file)

    function controllo_membri($nome_utente){
    $nome_file="membri_confraternita.php";
    $separatore= "|";
    $nome_utente=strtolower(trim($nome_utente));

    if(!$file=fopen($nome_file,"r")){
    echo "non posso aprire il file";
    }
    $dim=filesize($nome_file);
    $contenuto=fread($file,$dim);
    $membri= explode($separatore, $contenuto);
    $risultato_controllo=false;
    for($i=0;$i<count($membri);$i++){
    $curr=strtolower(trim($membri[$i]));
    if($curr==$nome_utente){
    $risultato_controllo=true;
    }
    }
    return $risultato_controllo;
    }

  2. #2
    Prova a fare una echo per ogni ciclo di for delle due variabili $curr e $nome_utente, prima dell'if, così vedi cosa stampa a video e capisci cosa non va (o ci si prova)
    Ce l'ho fatta! - ItalianPixel -

  3. #3
    Ho testato la tua funzione richiamandola con
    Codice PHP:
    $ris=controllo_membri("prova"); 
    if(
    $ris)echo "OK UTENTE TROVATO"
    else echo 
    "ERRORE UTENTE NON TROVATO"
    e a me funziona. io uso php versione 5.2.10.
    Non e' che magari nel file contentente i nomi utente ci sono degli spazi?
    Io nel file "membri_confraternita.php" ho scritto
    codice:
    pippo|franco|prova
    Saluti
    Davide

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.