Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di pak0
    Registrato dal
    Dec 2004
    Messaggi
    263

    Log in con i file di testo

    Devo creare un sistema di log in con i file txt. Ho scritto il seguente codice ma di da errore...
    quale sarebbe questo errore?

    codice:
    <?php
    if(isset($_POST["utente"]) AND isset($_POST["password"]))
    {
      $n_utenti = (int) fread(fopen("utenti/n_utenti.txt","r"),10);
      for($i=0; $i<$n_utenti+1; $i++)
      {
        if(fread(fopen("utenti/$i/utente.txt","r"),20) = = $_POST['utente'])
        {
          if(fread(fopen("utenti/$i/password.txt","r"),20) = = $_POST['password'])
          {
            die ("Sei loggato");
            $utente_loggato = $i;
          }
        }
      }
      {
        die ("Attenzione nome Utente o Password errata");
      }
    }
    { 
    echo ("<form id=&quot;login&quot; action=&quot;&lt;?=$PHP_SELF?&gt;&quot; method=&quot;post&quot;>
        Utente:
    <input name=&quot;utente&quot; type=&quot;text&quot; size=&quot;20&quot; maxlength=&quot;20&quot;>
    
        Password:
    <input name=&quot;password&quot; type=&quot;password&quot; size=&quot;20&quot; maxlength=&quot;20&quot;>
    
    
        <input type=&quot;submit&quot; value=&quot;   OK   &quot;>
    
    
        <a href=&quot;registrazione.php&quot;>Registrati</a>
    </form>");
    ?>
    PuEBlO, RizLa SLiM & RIzLa FiLTeR 6mM

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Che errore ti dà di preciso???

    Cmq negli if devi togliere lo spazio tra i due simboli uguale (=)
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    e qui

    codice:
    echo ("<form id="login" action="&lt;?=$PHP_SELF?&gt;" method="post">
    deve diventare

    codice:
    <form id="login" action="<?= $_SERVER['PHP_SELF']?>" method="post">
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  4. #4
    Utente di HTML.it L'avatar di pak0
    Registrato dal
    Dec 2004
    Messaggi
    263
    Non è li l'errore, perchè se uso echo e apro le virgolette poi php pensa che io chiudo le virgolette quando le apro per impostare i parametri di form... l'errore penso sia nelle prime righe...
    PuEBlO, RizLa SLiM & RIzLa FiLTeR 6mM

  5. #5
    Beh lui ti diceva che lì vanno <? e ?> i simboli x acedere al php :rollo:
    PER CASO ti serve un guestbook, completamente personalizzabile?e PER CASO lo vuoi anche gratis e senza pop-up o dialer?E allora prova il nuovo NewAge GuestBook..Niente per caso, tutto perfetto

  6. #6
    secondo me l'echo del form devi scriverlo così:

    Codice PHP:
    echo ("<form id='login' action=\"{$_SERVER['PHP_SELF']}\" method='post'>"); 
    poi se ci son altri errori oltre a questo chiedi

    PS cmq se io fossi in te e dovessi usare per forza un file testuale per salvare password ed utenti lo strutturerei così:

    <?
    utente01|pass_criptata_01
    utente02|pass_criptata_02
    utente03|pass_criptata_03
    utente04|pass_criptata_04
    utente05|pass_criptata_05
    utente06|pass_criptata_06
    ?>

    e lo salvere .php e non txt, in modo che se uno tenta di aprirlo con browser non vede nulla.
    noltre ti faciliteresti la lettura perchè potresti utilizzare la fuznioen file
    es

    Codice PHP:
    $dati file('password.php');
    $utlima count($dati);
    foreach(
    $dati as $k => $v)
    {
      if( (
    $k!=0) && ($k!=$utlima) )
      {
         
    $info explode('|',$v)
         
    $username $info[0];
         
    $pass $info[1];
         
    //POI QUI ESEGUI IL CONTROLLO PER VEDERE SE I DATI CORRISPONDONO.
      
    }


  7. #7
    Utente di HTML.it L'avatar di pak0
    Registrato dal
    Dec 2004
    Messaggi
    263
    L'ho fatto ccome mi hai detto tu... ma mi dice che c'è un errore nella riga 21, ma è vuota!!!!!!
    codice:
    <?
    if((isset($_POST['username'])) && (isset($_POST['password'])))
    {
       $username = $_POST['username'];
       $password = $_POST['password'];
       $dati_utenti = 'utenti.php';
       $ultima_riga = count($dati_utenti);
       foreach($dati_utenti as $k => $j)
       {
          if(($k!=0) && ($k!=$ultima_riga))
          {
             $info_utenti = explode('¦', $j);
             $Username = $info_utenti[0];
             $Password = $info_utenti[1];
             if(($username == $Username) && ($password == $Password))
             {
                echo('Sei loggato');
                $log_in = true;
             }
          }
       }
    }
    {
       if($log_in = false)
       {
          echo('Login errato!');
       }
    {}
    echo ("
    <form id='login' action=\"{$_SERVER['PHP_SELF']}\" method='post'>
    Username: <input type='text' size='20' maxlength='30' name='username'>
    
    Password: <input type='password' size='20' maxlength='30' name='password'>
    
    
    <input type='submit' value='   OK   '>
    </form>
    ");
    }
    ?>
    PuEBlO, RizLa SLiM & RIzLa FiLTeR 6mM

  8. #8
    manca else tra la fase di controllo e quella di cereazioen del form...

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.