-
Problema con Array
Lo script è questo
Codice PHP:
<table>
<form action="?" method="get">
<tr><td>
Codice di accesso:
</td></tr>
<tr><td>
<input type="text" name="psw" size=25 maxlength=80>
<input type="submit" value="Invia">
</form>
</table>
<?
$psw = $_GET['psw'];
$lista = "pw.txt";
$lista = file($lista);
if(in_array($psw,$lista))
@include("dati/autentica.php");
else
print("PASSWORD ERRATA");
?>
Restituisce sempre e solo Password errata..
Allora pensavo che non caricasse la lista quindi ho scritto alla fine:
print_r($lista)
Ma l'array c'è:
Array ( [0] => 44344 [1] => rrrrr [2] => 33323 [3] => ew3ds [4] => sdswd [5] => sdef3 [6] => 4h3h4 [7] => 3jdou [8] => 3jd9s )
Uso in un'altra pagina lo stesso identico script per controllare degli ip e al posto di $psw ho messo l'ip ma li funziona!
-
Dopo:
Codice PHP:
$lista = file($lista);
prova ad aggiungere:
Codice PHP:
function trim_el( &$el ){
$el = trim( $el );
}
array_walk( $lista, 'trim_el' );
e metti anche un controllo per evitare l'esecuzione dello script PHP se il form non è stato inviato :)
Ciao!
P.S: Passare le password tramite GET non è proprio il massimo :wink:
-
Grazie,
Comunque mi serve il GET perchè se l'autenticazione viene fatta da un altro mio sito metto uno script del genere:
<?
$cod = $_POST['psw'];
$risultato = @file_get_contents("mylocalhost/login.php?psw=$cod");
print("$risultato");
?>
-
si ma inserisci un controllo lo stesso :wink:
Codice PHP:
<?
if($_GET['psw']==''){
echo "<blink>Nessun dato inserito!</blink>";
}else{
$psw = $_GET['psw'];
$lista = "pw.txt";
$lista = file($lista);
function trim_el( &$el ){
$el = trim( $el );
}
array_walk( $lista, 'trim_el' );
if(in_array($psw,$lista)){
@include("dati/autentica.php");
}else{
print("PASSWORD ERRATA");
}
}
?>