• User

    Confronto variabili...

    Salve ragazzi,

    sono due giorni che sto sbattendo la testa su questo problema...

    sto realizzando una pagina di login per un sito. la prima pagina contiene due text dove si inseriscono username e password chiamate rispettivamente "Username" e "Password". Cliccando sul pulsante Loggati (nome "Login"), va alla pagina stat.php dove entra nel seguente codice:

     if(isset($_POST['Login'])) {
      $myFile = "login.txt";
      $fh = fopen($myFile, 'r');
      $user = trim(fgets($fh, 4096), " \t");
      $pass= trim(fgets($fh, 4096), " \t");
      fclose($fh);
    
      $logU = $_POST['Username'];
      $logP = $_POST['Password'];
     
        $logU = trim($logU);
        $logP = trim($logP); 
      
      if ($logU != $user || $logP != $pass){
       echo "<script type='text/javascript'> alert('LOGIN ERRATO.')</script>";
       include "index.php";
       exit();
      }
     }
    

    praticamente vado a leggere username e password da un file txt, lo memorizzo in due variabili $user e $pass e poi faccio il confronto...

    Il problema sta nel fatto che seppure inserisco i dati giusti x accedere, mi compare la schermata di errore.

    Ho provato a far stampare i quattro valori (due letti da file e due inseriti da me) a video, e risultano essere identici. Inoltre ho provato anche a verificare se eventualmente i tipi di variabile fossero diversi, ma sono tutte e quattro STRING.

    Sapreste dirmi il motivo o aiutarmi in qualche modo? io non so più cosa fare.. sono disperato..

    Grazie 1000!


  • User Attivo

    Prova a fare il trim anche di $user e $pass


  • User

    ho risolto togliendo "\t" alle due stringhe...

     
    $user = trim(fgets($fh, 4096), " \t");
    $pass= trim(fgets($fh, 4096), " \t");
    
    

    grazie lo stesso 😉