• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Datei via Button erstellen

Danke schonmal. Aber ich weiß noch nicht wie ich das umsetzen kann. Weiß gar nicht wie ich das in Worte fassen kann.

Wenn ich nur eine Formular Datei habe, wie sage ich dem, dass es bei klick auf Link2 die Txt2 zum schreiben bzw. auslesen wählen soll.
Deshlab habe ich halt gedacht zu jedem Formular eine Quelle. Wie du ja oben geschrieben hast, weist du dem PHP Code ja eine Quelle zu.

Mit dem Klick auf einen Menülink müsste ich ja quasi dann sagen, dass er die Txt datei in Verbindung mit dem Formular laden soll.
 
Hallo,

da brauch man bloss das ihr mit einer variablen ändern die aus dem Menü bekommst was ja dann dynamisch ist und die txt aus dem ordner ausliest :O)

<a href="?edit=einsatz_1983245821">Link1</a>
<a href="?edit=einsatz_1984984661">Link2</a>
$array = file($_GET['edit'].".txt");// einsatz txt einlesen

Cheffchen
 
Hallo,

du hast ein Formular was txt dateien einliest und verändert oder neue anlegt, klar?
du hast z.b. 10 txt-dateien. jede Datei ist ein Einsatz Beitrag #20, klar?
du hast noch nicht aber das ist halb so willt, ein menü das sich dynamisch erstellt das die 10 txt-dateien einliest und als variable "edit" zur verfügung stellt wie wie Beitrag #22, klar?

Wenn jetzt auf ein Link klickst bekommst das formular "edit" mit "einsatz_1983245821" übertragen und damit weis das Formular das es ein vorhandener Datensatz ist und liest diesen ein, nämlich datei einsatz_1983245821.txt.
Jetzt kannst was ändern im Formular, sagst speichern und da "edit" mit "einsatz_1983245821" schon hast weis das Formular das es diesen Datensatz aktuallisieren muss.

Neu werden einfach erstellt wenn es kein "edit" variable gibt.
 
^^ Da bin ich wieder. Die Zeit läuft mir langsam davon und ich komme einfach nicht voran.
Also mein Menü sieht wie folgt aus:

PHP:
<ul id="menue">
<?php
$dir = "Einsaetze/"; // Verzeichnis, das durchsucht werden soll
$entries = scandir($dir);
foreach($entries as $entry)
    if(is_file($dir.$entry))
        echo '<li><a href="'.$dir.$entry.'" target="content">'.str_replace(".php", "", $entry).'</a></li>';
?>
</ul>
Wie mache ich das Ganze dann "dynamisch" und wie müsste sage ich mal ein 1 Feld Formular beispielsweise aussehen, dass das Ganze funktioniert?

VG
 
Hallo,

wie das Menü ist doch nun Dynamisch, wie Dynamischer willst das noch haben?
Dachte bist fertig damit.

ich habe hier mal schnell was getipt, ist natürlich nicht alles fertig aber dein Menü ist drin bloss mit Sortierung umgedreht.
Da Fehlt das Speichern bzw. bearbeiten/neu anlegen.
was geht ist die Ausgabe vorhandener Dateien.

Lege also mind 2 txt dateien an
1301570737.txt
Code:
Berlin
Katze im Baum
1301570772.txt
Code:
München
Kroko im Fluß gesehen

hier dann die eigentliche Seite wo sich alles abspielt oder zumindest was fertig ist :O)
PHP:
<?php
$timejetzt=time();


// MENÜ erstellen
$out_menue.= '<li><a href="?aktion=new">NEUER EINSATZ</a></li>';
$dir = "Einsaetze/"; // Verzeichnis, das durchsucht werden soll
$entries = scandir($dir);
rsort ($entries);   						// sortierung neuste oben
foreach($entries as $entry)
if(is_file($dir.$entry)){
$out_menue.= '<li><a href="?einsatz='.$entry.'&amp;aktion=out">'.str_replace(".php", "", $entry).'</a></li>';
}



######### VERARBEITUNG der aktion ###################
if(isset($_GET['aktion'])){					// wenn aktion im link übergeben wird.
$einsatz=$_GET[einsatz];

	if($_GET['aktion']=='out' && isset($einsatz)){		// out -> also Datei zeilen auslesen
         $zeilen = file("Einsaetze/".$einsatz);          	// Datei einlesen
	$wo = $zeilen[0];                                       // zeile 1 als variable bereitstellen
         $was = $zeilen[1];                                      // zeile 2 als variable bereitstellen

         }elseif($_GET['aktion']=='new'){			// neuer einsatz leeres Formular mit time stempel
         $einsatz=$timejetzt.".txt";

         }
         // HIER gehts dannn weiter mit edit als Speichern (neu anlegen oder alte überschreiben)


}
######### VERARBEITUNG der aktion ENDE ##############


## AUSGABE der Daten bzw der Seite
echo'
<html>
<head>
<style type="text/css"><!--
body {
	font-family: Verdana;
	font-size: 12px;}
label{
	width:100px;
	display:inline-block}

--></style>
</head>
<body>

<ul id="menue">
	'.$out_menue.'
</ul>

<form action="?einsatz='.$_GET[einsatz].'&amp;aktion=edit" name="einsatz" method="post">
<input type="text" name="einsatz" value="'.$einsatz.'"><i>wird später versteckt mit hidden</i><br><br>

	<label for="wo">Wo:</label><input type="text" name="wo" id="wo" value="'.$wo.'"><br>
	<label for="was">Was:</label><input type="text" name="was" id="was" value="'.$was.'"><br>

	<label></label><input type="submit" name="speichern" id="speichern" value="Einsatz Speichern"><br>


</form>
</body>
</html>';
?>

Cheffchen
 
Hallo bjoernmuehle,

habe mir die Dateien mal kurz angeschaut.
Also Optik ist ja schick aber leider war es das auch schon :O).

Wenn mit iFrame anfängst ist klar das dies Menü nicht Dynamisch ist, also müsstest das auch in ein iframe packen und neuladen lassen wenn du eine neue Datei erstellt. Das dürfte vielleicht mit javascript gehen ein iFrame aus ein anderes iframe heraus neuladen lasen oder müsstest vielleicht noch mit AJAX anfangen oder einfach alle iFrame raus und alles in eine Datei packen.

In einigen dateien hast zum schluss eine weiterleitung drin mit header(), die kann nicht funktionieren da vorher eine Ausgabe hast, das dürfte dir aber PHP auch schon als fehler angezeigt haben.

nun zu deiner frage:
Jetzt ist es ja so, dass wenn ich zwischen den Einsätzen hin und her switche, jedesmal die Daten weg sind. Gibt es wo du das Ganze nun vor dir hast nicht eine einfachere Lösung?
Wie einfach denn noch, ich wiederhole mich zwar ungern aber ich hate ja schon gesagt das dies blödsinn ist für jeden einsatzt ein Formular zu erstellen.

Wie im meinem letzten Beitrag beschrieben ist dies das einfachste.
1 Formular und die liest je nach übergebenen Variablen out und einsatzt die entsprechende Datei in das Formular.
Hattest das eigentlich mal selber getestet was ich geschrieben hatte?Das funktioniert super und ist so einfach wie möglich.

Cheffchen
 

Neueste Beiträge

Zurück
Oben