- Home
- Categorie
- Coding e Sistemistica
- PHP
- Form autenticazione utenti registrati
-
Form autenticazione utenti registrati
Ciao ragazzi,
sono un principiante di Php e ho un problema che non riesco a risolvere e cioè:
devo consentire di raggiungere una determinata pagina per il download solo ad utenti registrati che hanno nome utente e password.
Queste informazioni (utente e password) sono scritte in un file di testo e sono separate dal carattere ":", per es. tizio:caio per nome utente e password;
Ho pensato di leggere il file di testo delle password e di mettere le righe in un array in questomodo:
$script = explode("\n", file_get_contents("/path/filepassword"));
se questo fosse corretto come devo fare per ciclare nell'array e verificare ad ogni ciclo se il nome utente e la password digitata dall'utente esiste all'interno del file?
Poi vorrei che il numero di tentativi non fosse superiore a 3 e nel caso di 3 tentativi non riusciti che mi scrivesse un messaggio, mentre ovviamente se il nome utente e password esistono mi aprisse la pagina del download.
Un grazie a chi saprà darmi una mano.
Ciao.
-
Ciao toposauro,
prova così:<?php session_start(); $_SESSION[tentativi]=0; $script=file("/path/filepassword"); foreach($script as $riga){ $el=explode(":",$riga); if(**$usernamedigitato**=$el[0] && **$passworddigitata**=$el[1] && $_SESSION[tentativi]<=3){ //istruzioni se l'utente è loggato correttamente } else{ $_SESSION[tentativi]++; } if($_SESSION[tentativi]>=3){ echo "Hai utilizzato i tre tentativi a disposizione"; } ?> ```Sostituisci le variabili in grassetto,prova lo script e fammi sapere se funziona ;) ciao!
-
Ciao Matt come stai? E' un bel po' che non ci si sente , ma sapevo di trovarti qui.
Cercavo uno script che mi permettesse difare in modo che un utente si registri ed avesse una pagina personale per caricare informazioni.
E' complicato?
Spero di no
Che fine ha fatto il tuo forum?
Fammi sapere ci sentiamo presto.
Marco
-
@probid said:
Ciao toposauro,
prova così:> <?php session_start(); $_SESSION[tentativi]=0; $script=file("/path/filepassword"); foreach($script as $riga){ $el=explode(":",$riga); if(**$usernamedigitato**=$el[0] && **$passworddigitata**=$el[1] && $_SESSION[tentativi]<=3){ //istruzioni se l'utente è loggato correttamente } else{ $_SESSION[tentativi]++; } if($_SESSION[tentativi]>=3){ echo "Hai utilizzato i tre tentativi a disposizione"; } ?> >```Sostituisci le variabili in grassetto,prova lo script e fammi sapere se funziona ;) ciao! Purtroppo quando tento il Login mi da questo errore: **Parse error**: parse error, unexpected $ in **/var/www/...../autentica.php** on line **17** I File utilizzati sono form.php e autentica.php. Questo** è il loro testo**: [php] form.php: <form name="modulo" action="autentica.php" method="post"> <head> <meta http-equiv="Content-Language" content="it"> </head> <title>Login</title> <table border="0" width="100%" id="table1" frame="box"> <tr> <td width="10%"><b><font face="Verdana" size="2" color="#0000FF"> Login Area DownLoad:</font></b></td> <td height="30" width="89%"> </td> </tr> <tr> <td width="13%" style="font-family: Verdana; font-size: 10"><b>Nome Utente</b></td> <td height="21" valign="top" width="89%"><input name="nomeutente" size="50"></td> </tr> <tr> <td width="13%" style="font-family: Verdana; font-size: 10">Password</td> <td height="21" valign="top" width="89%"><input name="password" size="50"></td> </tr> <tr> <td width="13%" style="font-family: Verdana; font-size: 10"> </td> <td height="21" valign="top" width="89%"> <form method="POST" action="--WEBBOT-SELF--"> <!--webbot bot="SaveResults" U-File="../_private/form_results.csv" S-Format="TEXT/CSV" S-Label-Fields="TRUE" --> <p><input type="submit" value="Login" name="B1"></p> </form> </td> </tr> </table> </form> [/php] autentica.php: [php] <?php session_start(); $_SESSION[tentativi]=0; $script=file("/download/dbuser/spinnaker.pwd"); foreach($script as $riga){ $el=explode(":",$riga); if($nomeutente=$el[0] && $password=$el[1] && $_SESSION[tentativi]<=3){ //istruzioni se l'utente è loggato correttamente } else{ $_SESSION[tentativi]++; } if($_SESSION[tentativi]>=3){ echo "Hai utilizzato i tre tentativi a disposizione"; } ?> [/php] Spero tu possa aiutarmi. Ciao e Grazie.
-
Prova così:
autentica.php
[PHP] <?php
session_start();
$_SESSION[tentativi]=0;
$script=file("/download/dbuser/spinnaker.pwd");
foreach($script as $riga){
$el=explode(":",$riga);
if($_POST[nomeutente]=$el[0] && $_POST[password]=$el[1] && $_SESSION[tentativi]<=3){
//istruzioni se l'utente è loggato correttamente
}
else{
$_SESSION[tentativi]++;
}
if($_SESSION[tentativi]>=3){
echo "Hai utilizzato i tre tentativi a disposizione";
}
?>[/PHP]
Fammi sapere
-
@toposauro said:
Purtroppo quando tento il Login mi da questo errore:
Parse error: parse error, unexpected $ in /var/www/...../autentica.php on line 17
Spero tu possa aiutarmi.
Ciao e Grazie.
[php]
<?php
session_start();
$_SESSION[tentativi]=0;
$script=file("test2.php");
foreach($script as $riga){
$el=explode(":",$riga);
if($_POST[nomeutente]=$el[0] && $_POST[password]=$el[1] && $_SESSION[tentativi]<=3){
//istruzioni se l'utente è loggato correttamente
}
else{
$_SESSION[tentativi]++;
echo "password errata";
}
if($_SESSION[tentativi]>=3){
echo "Hai utilizzato i tre tentativi a disposizione";
}}?>[/php]Ho aggiustato.
Prova ora@Piterrey said:
Ciao Matt come stai? E' un bel po' che non ci si sente , ma sapevo di trovarti qui.
Cercavo uno script che mi permettesse difare in modo che un utente si registri ed avesse una pagina personale per caricare informazioni.
E' complicato?
Spero di no
Che fine ha fatto il tuo forum?
Fammi sapere ci sentiamo presto.
MarcoCiao peter
Usa lo script che ho fornito a toposauro,e se l'utente è loggato correttamente esegui una semplice query sul db mysql dal quale estrai il codice della pagina abbinata al nome dell'utenteIl database del forum è andato perduto dopo alcuni problemi sul server del provider.
Ora abbiamo venduto il dominio e lo spazio.
[/OT]Ciao!