Philipp: if verschachtelungsproblem

ICh habe hier folgenden Code der ein Formuklar auswertet:

$uf = file ("user.dta");

$user_dats = explode ('|',$uf[0]);
$pass_dats = explode ('|',$uf[1]);

$c1 = count($user_dats);

for ($i=0;$i<$c1;$i++) {
  if ($username==$user_dats[$i]) {
   if ($passwort==$user_dats[$i]) {
     $temp = true;} }

Nun wird bei mir die varibalen temp leider immer schon auf true gesetzt, wenn user und passwortfeld leer sind :-(

Die Datei sieht so aus:

username1|
passwort1|

weiß leider nicht, wo mein Fehler leigt...

  1. Hallo Philip!

    So wie ich das jetzt blicke, hast du vergessen, eine Kammer zu schließen:

    for ($i=0;$i<$c1;$i++) {
      if ($username==$user_dats[$i]) {
       if ($passwort==$user_dats[$i]) {
         $temp = true;} }
                            }

    Du machst ja 3 geschweifte Klammer auf... Das wird vermutlich der Fehler sein...

    Gruß David!

  2. Hi,

    for ($i=0;$i<$c1;$i++) {
      if ($username==$user_dats[$i]) {
       if ($passwort==$user_dats[$i]) {
         $temp = true;} }
    Nun wird bei mir die varibalen temp leider immer schon auf true gesetzt, wenn user und passwortfeld leer sind :-(

    Dann prüfe diesen Fall doch einfach vorher ab.
    Ist es eigentlich Absicht, daß Du $username und $passwort mit ein und demselben Wert $user_dats[$i] vergleichst?

    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
    http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
    1. hi,

      Ist es eigentlich Absicht, daß Du $username und $passwort mit ein und demselben Wert $user_dats[$i] vergleichst?

      loggst du dich etwa _nicht_ überall mit dem passwort "MudGuard" ein?
      also ich kann mir ausser "wahsaga" auch nix merken ...

      ;-)

      gruss,
      wahsaga

      1. hi,

        LOL
        aber das triffts!!!!!!!!!!!!!!!!!!

        Gruß aus Berlin!
        eddi

  3. Hi,

    for ($i=0;$i<$c1;$i++) {
      if ($username==$user_dats[$i]) {
       if ($passwort==$user_dats[$i]) {
         $temp = true;} }

    Du musst natürlich prüfen ob die beiden leer sind also

    if ( $passwort==$user_dats[$i] && $passwort !="" ) $temp = true;
    Klammern brauchste hier nicht, nur ein paar für die Schleife

    Grüße, Matthias