Moin!
Mir fehlte ein Dollar...
$arKeys=array_keys($ar);
foreach ($arKeys as $strKey) {
if ( true
&& $_POST['name']==$ar[$strKey]['name']
&& $_POST['passwort']==$ar[$strKey]['passwort']
) {
myLogin();
break 1;
}
}
myGoAway();
exit;
Natürlich kannst Du auch den Array umformen:
$newArray=array();
foreach ($oldArray as $Tupel) {
$newArray[$Tupel['name']]['passwort']=$Tupel['passwort'];
$newArray[$Tupel['name']]['email']=$Tupel['email'];
}
unset($oldArray);
if (! $_POST['passwort']==$newArray[$_POST['name']]['passwort'] ) {
myGoAway();
exit;
}
myLogin();
exit;
Noch besser wäre es aber den Array gleich anders einzulesen. Ich benutze dafür eine Funktion, welche die erste Spalte der CSV-Datei als Schlüssel verwendet. Der muss dann allerdings eindeutig sein, sonst gehen jeweils die vorherigen Einträge verloren.
function fastixCsvToAssocArray($filename, $trenner=';', $remark='#', $maxCols=3) {
$dummy=fastixCheckFile($filename,'r');
$ar=array();
$lines = file($filename);
foreach ($lines as $line) {
$line=trim($line);
if ($remark != $line[0]) {
$arLineTemp=explode($trenner, $line, $maxCols);
$arLine=array();
for ($i=0;$i < $maxCols; $i++) {
$arLineTemp[$i]=trim($arLineTemp[$i]);
if ($i == 0) {
$assoc=$arLineTemp[$i];
} else {
if ($maxCols == 2) {
$ar[$assoc]=$arLineTemp[$i];
} else {
$ar[$assoc][$i]=$arLineTemp[$i];
}
}
}
}
}
return $ar;
}
function fastixCheckFile($filename, $right='r') {
if(!is_file($filename)) {
die ('Fatal: '.$filename.' ist keine Datei!!!'."\n");
}
if(!is_readable($filename)) {
die ('Fatal: '.$filename.' ist nicht lesbar!'."\n");
}
if ( true
&& 'w'==strtolower($right[0])
&& ! is_writable($filename)
) {
die ('Fatal: '.$filename.' ist nicht schreibbar!'."\n");
}
return true;
}
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix