# Adminbereich für Gästebuch, PHP & Textdateien



## DoRiMaN (9. Oktober 2003)

Hallo Leutz...

ich hab eine Frage... ich hab ein Gästebuch in PHP erstellt, welches die Einträge in Textdateien speichert... das war kein Problem!

Aber jetzt, möchte ich einen Adminbereich erstellen. Und zwar möchte ich, dass ich in einem Dropdown Menü den Eintrag auswählen kann, und er somit direkt in das Formular "eingetragen" wird, damit ich die Daten editieren kann.

Nun hab ich 2 Probleme:

1. das Dropdownmenü hab ich so generiert:


```
$file = fopen("entries.txt","r");
	if($file){
		echo("<select>
		");
		echo("<option>Eintrag auswählen...</option
		");
		$count = 1;
		while(!feof($file)){
			$row		=	fgets($file,50000);
			$entries	=	explode("<-%->",$row);
			echo("<option value=\"$count\">$count) $entries[1] $entries[0]</option>
			");
			$count++;
			}
		echo("</select>");
		echo("<input type=\"submit\" name=\"Go\" value=\"->\"");
	} else{
	echo("Die Einträge konnten nicht geladen werden!");
	}
```
Das Dropdownmenü , leider fehlt aber immer der erste Eintrag... hab den Code X-mal durchgelesen, aber finde den Fehler nicht...

das zweite Problem:

Wie mache ich nun (auch wenn nicht alle Einträge angezeigt werden ), dass im Formular (befindet sich unter dem code) die Daten aktualisiert werden? da ich mit Textdateien arbeite, weiss ich nicht, wie ich nun die im Dropdownmenü ausgewählten Einträge (Zeilen in der Textdatei) auslesen kann...

Kann mir da jemand helfen?

Danke & Greetz

DoRiMaN

(PS: leider musste ich den Link zum GBook rausnehmen, da einige (sorry) IDIOTEN es lustig fanden, ein PHP script welches ich für meine bewerbungen brauche, auszunutzen, um t-online zuzuspammen... das finde ich einfach zum KOTZEN!      )


----------



## Neurodeamon (9. Oktober 2003)

Ich hab jetzt nicht so supergenau geschaut. Aber solltest Du den "count" nicht mit "0" anfangen lassen?

$count = 0;

Du explodest den Inhalt schließlich in ein Array. Und ein normales Array beginnt mit 0 (Als Wort: Null).

Dann solltest Du auch den ersten Eintrag bekommen


----------



## DoRiMaN (10. Oktober 2003)

Hallo Neurodeamon...

danke für deine schnelle Antwort... ich hab das Problem gelöst... jedoch fängt $count immer noch mit 1 an...

das Problem? ich hab stundenlange im php code gesucht, und den Fehler nicht entdeckt... jedoch erhielt ich gestern ne PN, und da stand, dass ich bei Eintrag auswählen... im Option Tag die abschliessende Tag-Klammer vergessen hatte...

und das war das Problem!  jetzt wird der erste Eintrag angezeigt...

Aber, wie lese ich nun den Eintrag aus? kann ich eine X-Beliebige Zeile auslesen?

Greetz & , DoRiMaN


----------



## DoRiMaN (11. Oktober 2003)

Hallo...

also, das mit dem auslesen, hat jetzt gefunzt... ich kann die Daten einlesen, und si werden in einem Formular dargestellt...


```
$id = $_POST[id];
$file = fopen("entries.txt","r");
	if($id!=""){
		while(!feof($file)){
			$row = fgets($file,50000);
			$entries = explode("<-%->",$row);
			if($id==$entries[0]){
				echo("<br><br>");
				echo("<form action=\"\" method=\"post\" name=\"form\" id=\"form\">
				");
				echo("<table width=\"75%\" border=\"0\">
				");
				echo("<tr>
				");
				echo("<td width=\"20%\" valign=\"top\">Name:</td>
				");
				echo("<td width=\"80%\"><input name=\"name\" type=\"text\" id=\"name\" value=\"$entries[1]\" size=\"60\"></td>
				");
				echo("</tr>
				");
				echo("<tr>
				");
				echo("<td valign=\"top\">Vorname:</td>
				");
				echo("<td><input name=\"vorname\" type=\"text\" id=\"vorname\" value=\"$entries[2]\" size=\"60\"></td>
				");
				echo("</tr>
				");
				echo("<tr>
				");
				echo("<td valign=\"top\">E-Mail:</td>
				");
				echo("<td><input name=\"email\" type=\"text\" id=\"email\" value=\"$entries[3]\" size=\"60\"></td>
				");
				echo("</tr>
				");
				echo("<tr>
				");
				echo("<td valign=\"top\">ICQ:</td>
				");
				echo("<td><input name=\"icq\" type=\"text\" id=\"icq\" value=\"$entries[4]\" size=\"60\"></td>
				");
				echo("</tr>
				");
				echo("<tr>
				");
				echo("<td valign=\"top\">Website:</td>
				");
				echo("<td><input name=\"website\" type=\"text\" id=\"website\" value=\"$entries[5]\" size=\"60\"></td>
				");
				echo("</tr>
				");
				echo("<tr>
				");
				echo("<td valign=\"top\">Titel:</td>
				");
				echo("<td><input name=\"titel\" type=\"text\" id=\"titel\" value=\"$entries[6]\" size=\"60\"></td>
				");
				echo("</tr>
				");
				echo("<tr>
				");
				echo("<td valign=\"top\">Text:</td>
				");
				echo("<td><textarea name=\"text\" id=\"text\" cols=\"45\" rows=\"8\">$entries[7]</textarea>
				");
				echo("<input name=\"id_delete\" type=\"hidden\" id=\"hidden\" value=\"$id_delete\"></td>
				");
				echo("</tr>
				");
				echo("<tr>
				");
				echo("<td valign=\"top\"> <input type=\"submit\" name=\"Submit\" value=\"Eintrag &auml;ndern\"></td>
				");
				echo("<td><input type=\"reset\" name=\"Submit2\" value=\"Zur&uuml;cksetzen\">
				");
				echo("<input type=\"button\" name=\"deleting\" value=\"Eintrag löschen\"></td>
				");
				echo("</tr>
				");
				echo("</table>
				");
				echo("</form>
				");
			} else {
				echo("");
			}
		}
	} else {
		echo("<br><br>");
		echo("");
	}
```

jetzt aber... wie kann ich, wenn ich auf Eintrag löschen klicke, den Eintrag aus der Textdatei entfernen? ich hab schon versucht, dem button eine PHP funktion zuzuteilen, die der variable $id_delete (die sich in einem hidden field befinden würde), den wert "" zuteilt, und diese Zeile in der Textdatei ersetzt... doch die Funktion wird nicht aufgerufen...

kann jemand helfen? Danke und Greetz

DoRiMaN


----------

