Buon pomeriggio,
ho creato due form (uno per la registrazione ed uno per il login) e memorizzo i dati della registrazione in un file (so che non è la soluzione migliore, dato che esistono i DB ma mi serve per imparare il codice). Quando vado a controllare se la persona è "loggata", facendo il controllo su username e password ho un problema:
- la lunghezza dell'username e della password memorizzati nel file è sempre più grande di quella corretta (es. se username=pippo la lunghezza è 7 e non 5) per cui quando vado a confrontare i dati caricati dal form di login con quelli memorizzati nel file, anche se coincidono i dati mi viene fornito il risultato "non loggato".
A me interessa semplicemente che mi venga dato in uscita loggato/non loggato...in questo momento non mi interessa aprire sessioni.
Posto quì di seguito il codice scritto da me:
CODICE PER LA REGISTRAZIONE (html)
codice HTML:
<head>
<title>Registrati</title>
</head>
<body>
<form name="registrazione" action="registrati.php" method="post">
nome: <input type="text" name="nome" size="20"><br>
cognome: <input type="text" name="cognome" size="20"><br>
username:<input type="text" name="username" size="20"><br>
password:<input type="password" name="password" size="20"> <br>
conferma password: <input type="password" name="conferma" size="20"><br>
<input type="submit" value="conferma">
</form>
</body>
registrati.php
Codice PHP:
$nome=$_POST['nome'];$cognome=$_POST['cognome'];$username=$_POST['username'];$password = $_POST['password'];$conferma=$_POST['conferma'];$fp=fopen("provafile","a+");if (($conferma==$password) and ($conferma!='')){fputs($fp,$nome. "\r\n"); fputs($fp,$cognome. "\r\n"); fputs($fp,$username. "\r\n"); fputs($fp,$password. "\r\n"); echo "registrazione effettuata <br />";}else{echo "non hai inserito nulla nei campi obbligatori! <br />";}fclose($fp);
login.html
codice HTML:
<head><title>login</title></head><body><form name="login" action="login2.php" method="post">username: <input type="text" name="username" size="20"><br>password: <input type="password" name="password" size="20"><br><input type="submit" value="invia"></form></body>
login2.php
Codice PHP:
$username=$_POST['username'];$password=$_POST['password'];
$fp=fopen("provafile", "r");while(!feof($fp)){$nome=fgets($fp,20);$cognome=fgets($fp,20);$user=fgets($fp,20);$pass=fgets($fp,20);if ($user!=$username) echo "Non sei loggato";else "Sei loggato";}fclose($fp);
Spero mi possiate aiutare!!!