Prova a usare il codice il mio codice usando però il codice di satifal per il ciclo for e il reindirizzamento.
No, il problema non è secondo me dato dall'indice dell'array ma dal TIPO di variabile.
$utenti[]=array("user" => 1, "pass" => 1); questi sono numeri
$utenti[]=array("user" => "1", "pass" => "1"); queste sono stringhe di testo
Ti è chiara la differenza?
Prova il codice qui sotto, l'ho mixato con il codice di satifal.
codice:
<?php
session_start();
$username=$_POST['username'];
$password=$_POST['password'];
$utenti[]=array("user" => 1, "pass" => 1);
$utenti[]=array("user" => 2, "pass" => 2);
$utenti[]=array("user" => 3, "pass" => 3);
for($i=0;$i<count($utenti);$i++) {
if ( $username==$utenti[$i]["user"] && $password==$utenti[$i]["pass"] ){
$_SESSION["username"]=$_POST['username'];
header("Location:home.php");
exit;
}
}
header("Location:index.php");
?>
Nella pagina di arrivo, io proverei prima di tutto a fare l'echo della session scrivendo semplicemente in cima (prima di ogni altra cosa) :
codice:
<?php
session_start();
echo 'Session: '.$_SESSION["username"] ;
?>
E dicci che succede!!
Originariamente inviato da nicopres
inserito il codice di MrsCassandra e mi stampa
codice:
User da form: 1
Pass da form: 1
User in array: 1
Pass in array: 1
SUCCESS!!!
quindi la mia domanda diventa: non posso porre $_POST['username']==$utenti[$i]["user"] per qui l'array è generica, dovrei farlo diventare $_POST['username']==$utenti[0]["user"] per far si che l'utente 1 si possa connettere (e fare la stessa cosa con la pass). giusto?
ho già provato e non cambia nulla, mi rimanda sempre all'index.