Visualizzazione risultati 1 fino 3 di 3

Discussione: Problema confronto stringhe [Problema sciocco ma non riesco a risolvere.]

  1. #1
    Guest

    Predefinito Problema confronto stringhe [Problema sciocco ma non riesco a risolvere.]

    Ragazzi ho un file txt che si chiama credenziali.txt all'interno ho nel primo rigo pasquale.
    Con questo programmino voglio confrontare il dato prelevato dal form e confrontarlo con il primo rigo del file credenziali.txt
    Codice PHP:
    <?php

    $id
    =$_POST['id'];

    $pass=$_POST['pw'];

    $aut = file("credenziali.txt");




    $name=$aut["0"];


    echo
    $name;
    echo
    $id;

    if (
    $name==$id )
    {
    echo
    "bravo";
    }
    else
    {
    echo
    "no";
    }

    ?>
    faccio visualizzare sia il dato prelevato dal form si quello che sta sul file credenziali.txt in modo da essere sicuro di non aver sbagliato, mettendo lo stesso dato mi esce l'istruzione dentro l'else! cioè "no"....
    Sono arrabbiatissimo perchè è una cosa stupidissima ma non trovo via di uscita!
    Ultima modifica di javascripter : 08-01-2014 alle ore 22.03.14 Motivo: +[php]

  2. #2
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Se credenziali.txt contiene più righe di testo, sicuramente nella variabile $name ti porti dietro il carattere di ritorno a capo \n.
    Fortunatamente, esiste un parametro da passare alla funzione file che ti permette di ignorare questi caratteri alla fine della riga.

    Prova con:
    Codice PHP:
    $aut = file("credenziali.txt", FILE_IGNORE_NEW_LINES);
    $name=$aut[0]; // no "0" che è una stringa...
    Ovviamente ci sono altri modi, per esempio potresti usare rtrim, una substring etc.

    Comunque ti consiglio sempre di controllare il manuale di php quando qualcosa ti sembra strano, infatti è scritto:
    Identica a readfile(), eccetto per il fatto che file() restituisce il file in un vettore. Ogni elemento del vettore corrisponde ad una riga del file, con il carattere di newline ancora inserito. Se la funzione non riesce restituisce FALSE.
    http://www.php.net/manual/it/function.file.php

  3. #3
    Guest

    Predefinito

    Ciao sembra che funzioni grazie mille !
    Ultima modifica di ramishapp : 09-01-2014 alle ore 09.37.20

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •