Servus ihr Forumler,
ich verstehe mein Script wiedermal nicht mehr. Nach den Ausgaben im HTML-Quelltext zu urteilen kommt in der foreach-Schleife immer nur das letzte Array-Element dran. Die anderen Array-Elemente werden garnicht abgearbeitet. Warum nur? Hier meine Funktion:
function benutzer_loeschen($pfad, $benutzer)
{
$dateiinhalt = file($pfad."/.htpasswd");
echo "<!-- zu löschender Benutzer: ".$benutzer." //-->\n";
if($dateiinhalt[0] != "")
{
echo "<!-- Der Inhalt der Datei ist nicht leer! //-->\n";
echo "<!-- In der Datei sind ".count($dateiinhalt)." Logins gespeichert... //-->\n";
$zweckstring = "";
foreach($dateiinhalt as $login);
{
echo "<!-- Login ".$login.": \n";
$test = explode(":", $login);
if($test[0] != $benutzer && $test[0] != "")
{
echo "Der Benutzer ".$test[0]." ist ungleich ".$benutzer." und auch nicht leer...\n";
$zweckstring = $zweckstring.$test[0].":".trim($test[1])."\r\n";
echo "Momentaner Zweckstring: ".$zweckstring;
}
echo "Das war Login ".$login.".\n//-->\n";
}
editierte_datei_speichern(".htpasswd", $pfad, $zweckstring);
echo "<!-- Benutzer $benutzer aus Verzeichnis $pfad geloescht! //-->\n";
echo "<!-- .htpasswd: $zweckstring //-->\n";
}
}
Und hier die Ausgabe (Auszug) in meinem HTML-Dokument:
<div class="admin">
<!-- zu löschender Benutzer: rehe //-->
<!-- Der Inhalt der Datei ist nicht leer! //-->
<!-- In der Datei sind 8 Logins gespeichert... //-->
<!-- Login insekten:36dkBY6ClpNOU
:
Der Benutzer insekten ist ungleich rehe und auch nicht leer...
Momentaner Zweckstring: insekten:36dkBY6ClpNOU
Das war Login insekten:36dkBY6ClpNOU
.
//-->
<!-- Benutzer rehe aus Verzeichnis ../eltern geloescht! //-->
<!-- .htpasswd: insekten:36dkBY6ClpNOU
//-->
<h2>Benutzerverwaltung</h2>
Jedenfalls muss ich doch daraus schließen, dass in meiner foreach-Schleife nur der letzte Login abgearbeitet wird, oder nicht? Wer findet meine(n)(Denk-?)Fehler? Jedenfalls im Vorraus schonmal Danke für eure Bemühungen.
Liebe Grüße aus Ellwangen,
Felix Riesterer.