Michael W.: if else fehler

Hallo,

wo liegt der fehler beim else ?

<?php
$direct = "server/".$server.".log";
if (file_exists($direct)){
$datei= file($direct);
print "<I><br> <b>Server: <U>".$server."</b></I></U><br><br><br><hr>";
$a = "USER=";
$b = " Processor: ";
$c = " CPU Clock Speed: ";
$d = " Extended Memory: ";
$e = "Fixed Disk";
for($i=0;$i<count($datei);$i++)
{
if(eregi($b,$datei[$i])) $array[0][] = $datei[$i];
if(eregi($a,$datei[$i])) $array[1][] = $datei[$i];
if(eregi($e,$datei[$i])) $array[4][] = $datei[$i];
if(eregi($d,$datei[$i])) $array[3][] = $datei[$i];
if(eregi($c,$datei[$i])) $array[2][] = $datei[$i];
}
reset($array);
while(list($key,$val)=each($array[0])) {
print "<b>";
echo $array[1][$key];
print "</b><br><br>";
echo $val;
print "<br>";
echo $array[2][$key];
print "<br>";
echo $array[3][$key];
print "<br>";
echo $array[4][$key];
print "<br><hr>";
}
else
{
print "keine datei gefunden";
}
}
?>

Parse error: parse error in /usr/local/httpd/htdocs/rwzadm/menu/support/hardware/s-check.php on line 33

was ist falsch ?

Danke

  1. Hi

    Hallo,

    wo liegt der fehler beim else ?

    <?php
    $direct = "server/".$server.".log";
    if (file_exists($direct)){
    $datei= file($direct);
    print "<I><br> <b>Server: <U>".$server."</b></I></U><br><br><br><hr>";
    $a = "USER=";
    $b = " Processor: ";
    $c = " CPU Clock Speed: ";
    $d = " Extended Memory: ";
    $e = "Fixed Disk";
    for($i=0;$i<count($datei);$i++)
    {
    if(eregi($b,$datei[$i])) $array[0][] = $datei[$i];
    if(eregi($a,$datei[$i])) $array[1][] = $datei[$i];
    if(eregi($e,$datei[$i])) $array[4][] = $datei[$i];
    if(eregi($d,$datei[$i])) $array[3][] = $datei[$i];
    if(eregi($c,$datei[$i])) $array[2][] = $datei[$i];
    }
    reset($array);
    while(list($key,$val)=each($array[0])) {
    print "<b>";
    echo $array[1][$key];
    print "</b><br><br>";
    echo $val;
    print "<br>";
    echo $array[2][$key];
    print "<br>";
    echo $array[3][$key];
    print "<br>";
    echo $array[4][$key];
    print "<br><hr>";
    }
    else

    RICHTIG: }else

    {
    print "keine datei gefunden";
    }
    }
    ?>

    Parse error: parse error in /usr/local/httpd/htdocs/rwzadm/menu/support/hardware/s-check.php on line 33

    S. Script

    was ist falsch ?

    Klammerung

    Danke

    No problem

    rH

  2. Hallo,

    das if liegt innerhalb der for-Schleife, dann muß das else auch da liegen. Wenn sich außerdem das else auf alle ifs beziehen soll und nicht nur auf das letzte müssen statt den ifs (außer dem ersten) elseifs benutzt werden.

    Wenn sich das else allerdings auf das if (file_exists($direct)) beziehen soll, dann hast Du einfach die letzte } zu spät geschlossen, schreib einfach:
    print "<br><hr>";
    }
    }
    else
    {
    print "keine datei gefunden";
    }

    Viele Grüße,
    Jürgen

  3. Hallo,

    Du hast hier:

    if (...) ...
    if (...) ...
    if (...) ...
    ...
    while (...) {...}
    ...
    else {...}

    was ist falsch ?

    Das "else" bezieht sich deshalb nicht auf "if" in der Form
    if (...) {...} else {...}
    wo je nach Ergebnis der einfachen Klammer entzweder die Anweisung vor oder die nach dem "else" ausgeführt wird. "while-else" gibt es nicht.

    Gruß
    Hans35