Originariamente inviato da Francis87
scusa, ho realizzato ora che il campo "userid" è in realtà lo username, e quindi non basta fare come dicevo io.
cmq
Codice PHP:
$pswd="psw".$_POST['userid'];
$correct_pswd=$$pswd;
la variabile $pswd è una stringa che vale "psw" più il valore di $_POST['userid'].
il comando "." concatena due stringhe.
es:
codice:
$ciaomamma="ciao"." "."mamma";
$correct_pswd è la variabile che dovrebbe assumere (non ho mai provato le variabili variabili) il valore della password corretta.
se l'id dell'utente è 0, $pswd diventa "psw0" e la $correct_pswd=$pswd0 e quindi = "h".
Scusa se rompo ancora, ma non capisco come $correct_pswd assume il valore giusto? il $$ che significa?cmq...nella parte dopo dell script verifichi il valore inserito come password con "psw+useridinserito" xcui non sarà mai uguale...
SUPER EDIT:
Ho sistemato un po' lo script e sembra funzioni, volevo però fare in modo che se l'utente fosse già loggato, gli uscisse un messaggio con scritto che era apposto e invece qllo non funziona proprio....sapete come posso fare?Grazie x l'aiuto
Codice PHP:
<?php
//auth lo metterei come variabile impostata FALSE dal file utenti.php
if(isset($auth)==TRUE)//con isset verifico l'esistenza...
if($auth==TRUE){
echo ("Ti sei già loggato");
}
else{
include "utenti.php";
include "psw.php";
for($x=0;$x<=$numero;$x++){
$user = "uto" . $x;
$pass = "psw" . $x;
if($_POST['userid']==($$user)&&$_POST['password']==($$pass)){
$auth=TRUE;
}
}
if ($auth==TRUE)
echo ("Grazie per esserti autenticato");
else
echo ("Nome utente e/o password non validi!");
}
else{
include "utenti.php";
include "psw.php";
for($x=0;$x<=$numero;$x++){
$user = "uto" . $x;
$pass = "psw" . $x;
if($_POST['userid']==($$user)&&$_POST['password']==($$pass)){
$auth=TRUE;
}
}
if ($auth==TRUE)
echo ("Grazie per esserti autenticato");
else
echo ("Nome utente e/o password non validi!");
}
?>