Carsten: if - Anweisungen werden einfach übersehen

Beitrag lesen

Hallo Kurt,

...werden diese einfach übersehen. Als wären sie nicht da :-((

Da wird die Bedinigung wohl einfach nicht erfüllt sein.

....
<?
$user = "$(user)";
$password = "$(password)";
$authenticate = fopen("user/.user","r");
$zeile = fgets($authenticate,1000);
fclose($authenticate);
$pw = $user.$password;

$pw enthält jetzt "$(user)$(password)"; um es deutlich zu
machen "$(user)$(password)". Oder auch: wo werden deine Eingabe
Variablen verarbeitet?

Wenn sie als user und passwort von einem Formular kommen, sollte
es wohl $pw="($user).($password)" heissen, zumindest wenn in deiner
.user Datei:
  (Erwin)(geheim),
  (Hans)(4711),
  (Willi)(qPqwzz)
steht.

function check_login() {
global $zeile;
global $pw;
$pieces = explode (",", $zeile);
$coun = count($pieces);
$i = 0;

bau hier mal Testhalber ein
  echo $pw;
ein

while ($i<$coun) {
if ($pieces[$i] == $pw) {
include ("a.php3");
exit;
}

und hier ein
  else
    echo $pieces[$i]," isses nicht\n";

$i++;
}
}
check_login();
include ("d.php3");
?>

Es wird immer d.php3 aufgerufen, aber die Variablen stimmen alle und
kommen richtig an. Die Bedingung ist erfüllt, offline funktioniert das
auch, aber online nicht.

Finde ich merkwürdig - oder ich hab da was überhaupt nicht verstanden.

Gruss,
Carsten