Moin Leute,
ich hab folgende Idee: Die Datei '.htpasswd' auslesen in Arrays, also jede Zeile ein Array oder noch besser in jedes Array ein Benutzername der '.htpasswd' - leider weiß ich nicht wie des geht, deshalb bin ich bei der Variante mit dem jede Zeile ein Array geblieben! Man soll per Checkbox die User anwählen können und damit löschen.
Also eigentlich ganz einfach, auf den CHMOD hab ich dabei schon geachtet, das Script sieht zur Zeit so aus:
<?php
echo "<html>";
echo "<body>";
echo "<form name="activate" method="post" action="config.php">";
Wieviele User sollen eingelesen werden?
$anz='20';
Zu beschreibene Datei / Zu lesene Datei
$file = ".htpasswd";
Wenn htpasswd existiert
if (file_exists("$file"))
{
## Variablen für die while-Schleife
$i='0';
## Öffnen der Datei
$htpasswd = fopen($file, "r");
## Anzeigen des Inhalts
while($anz>=0)
{
echo "<input name="loeschen";
echo $i;
echo ""type="checkbox" value="">";
echo " - ";
$array['text']['$i'] = fgets($htpasswd);
echo $array['text']['$i'];
echo "<br>";
$i++;
$anz--;
}
fclose ($htpasswd);
echo "<br>";
echo "<input type="submit" name="Submit" value="Loeschen">";
echo "</form>";
echo "</body>";
echo "</html>";
?>
Er zeigt mir dabei aber schon unerwartetes Ende an, kein Plan wo dort der Fehler liegt.
Die config.php schaut dann dazu so aus:
<?php
$anz='0';
$i='20';
In Datei schreiben (erstmals)
$htpasswd = fopen($file, "r+");
while ($i>=$anz)
{
if ($anz>'1')
{
##In Datei schreiben (anhängend)
fclose ($htpasswd);
$htpasswd = fopen($file, "a");
}
else
{
}
## Hochzählen + Checkboxen einlesen
$anz++;
$loeschen = $HTTP_POST_VARS["loeschen$anz"];
## Wenn Checkbox leer
if ($loeschen == "")
{
## Eintragen der nicht geändertden Daten
$array1 = $array['text']['$anz'];
fputs ($htpasswd, "$array1\n");
fclose ($htpasswd);
}
## Wenn Checkbox an:
else
{
## Eintrag verwerfen
fputs ($htpasswd, "");
fclose ($htpasswd);
}
}
?>
Nach meiner Meinung dürfte das so Funktionieren, aber irgendwie auch wieder net, kann mir mal wer unter die Arme greifen - ich hänge zur Zeit.