PHP-Funktion für input-Feld

Psychodelics

Erfahrenes Mitglied
Hi alle zusammen,

ich brauche eine Funktion, die mir bei Aufruf ein Input-Feld erstellt, ABER:
weil so weit bin ich auch schon...

PHP:
function input_feld($eintrag_feld) {
	?>
		<input name = "<?php echo "$eintrag_feld";?>" type = "text" size = "30" maxlength="50" 
value = "<?php echo "$eintrag_feld";?>" />

	<?php
	$i++;
	}
	?>

input_feld(hallo);

Das funktioniert bis hierhin super, bis auf eine Kleinigkeit, nach dem Senden gehen die Inhalte aus den Feldern verloren. Hab's auch schon mit nem return-Befehl versucht, aber das funktioniert auch nicht.

P.S.: Diese Funktion soll später sehr häufig aufgerufen weden, falls es wichtig ist.
 
Müsste eigentlich so gehen ;)

PHP:
function input_feld($eintrag_feld)
{
	return '<input name="' . $fields[$eintrag_feld] . '" type="text" size="30" maxlength="50" value="' . $eintrag_feld . '"">';
}

input_feld('hallo');

Ddie Felder sind dabei in einem Array mit den übergebenen Namen gefasst..als Value bekommen sich auch den Übergebenen wert....macht 500 Euro :P
 
Danke für die schnelle Antwort. Also für das vergessene

echo

zahl ich nicht, das hab ich selbst gefunden :-)

Aber das funktioniert nicht, oder mach ich was falsch. Es ist das gleiche Resultat wie vorher, der Inhalt des Textfeldes bleibt nicht erhalten.

Also wenn ich da "Willy" reinschreibe, dann soll nach dem Senden da immer noch "Willy" stehen und mir muss das "Willy" zum weiter verarbeiten zur Verfügung stehen.

Ist vielleicht PHP die falsche Technik, um viele Textfelder und Selection Lists zu realisieren?!

EDIT: Weil ich muss extrem viel Text in viele Kontaktformulare portieren, wo und wie ich den Text reinschreibe ist mir egal, nur es muss nicht die aktuelle Variante sein, wo ich jedes Feld per HTML schreibe.
 
Zuletzt bearbeitet:
Wenn's recht ist, schubs' ich eure Diskussion rüber ins Fachforum ;)

Gezahlt wird die "leicht-überteuerte" Leistung ja eh nicht :-)

mfg Maik
 
Seit zwei Tagen stehe ich auf der Strecke, obwohl ich eingetlich schon längst fertig sein sollte.

Wie bereits erwähnt, handelt es sich um immer wiederkehrende Befehle. Und zwar für:

Textfelder(input) und Selection lists(selection) und später auch Textareas.


Ich brauche NICHT NUR eine Technik, sondern einen Lösungsansatz, wie ich den Text schnell und unkompliziert lade.

Dabei unterscheiden sich die Felder aber auch im Aufbau, deswegen ist es sehr wichtig für mich, dass ich jederzeit Umbrüche und Tabellen etc erstellen kann.

Wer kann mir helfen. Aber ich muss dazu sagen, ich zahle nur dem was, der mir auch wirklich hilft und den Betrag, den ich für angemessen halte :-)
Sorry, aber ich kann nicht jeden für Vorschläge bezahlen, ich brauche eine Lösung.

Gruß, Adnan
 
Zuletzt bearbeitet:
Ich würd dir ja helfen, aber ich seh nicht mehr durch was du denn jetzt eigentlich zu erreichen gedenkst.

Einerseits sprichst du von einer mehr oder weniger dynamischen Formularfeld Erstellung und andererseits (wenn ich dich richtig verstehe) von Werterhalt nach Formularversand.

Kannst du vielleicht nochmal kurz schildern was du eigentlich vor hast?!
 
Hi rd4eva,

Ich habe jede Menge Text, welcher in einem Formular agezeigt werden soll.

Dynamisch deswegen, damit ich sie einfacher aufrufen kann. Wenn man 5 Formulare mit rund 20 Textfelder und 200 Selection List Einträgen hat, kann das schon ziemlich nervenaufreibend sein, jede einzeln zu definieren. Und vor allem ist sowas auch fehleranfällig.

Ich wollte es ursprünglich mit XML machen, habe aber Probleme in der Positionierung der einzelnen Elemente gesehen. Jetzt dachte ich mir Funktionsaufrufe sind perfekt.

So kann ich die ganze Seite aufbauen.

Wenn der User jetzt auf Senden klickt, muss beim neu laden der Seite seine Auswahl erhalten bleiben, damit er die noch verändern kann.

Die Seite wird dargestellt, exakt so, wie ich es haben will. Es wird aber nichts gespeichert, wenn man auf Senden klickt, werden alle Felder neu generiert und die alten Einträge sind alle weg.

Hoffe, das ist jetzt irgendwie verständlich. Ich suche nach der besten Technik, um das umzusetzen.


Gruß, Adnan
 
Zuletzt bearbeitet:
Also versteh ich das richtig das es dir nur darum geht die vom Benutzer eingegebenen Daten nach dem Senden des Formulars nochmal anzuzeigen?!

Falls ja findest du alle gesendeten Werte entweder im GET oder POST Array wieder, je nachdem wie dein Formular übermittelt wird. (wobei GET nicht sonderlich ratsam ist)

PHP:
<?php
if(isset($_POST['submit'])){

foreach ($_POST as $v => $k){
	$$v = $k;
}

}

?>
<form method="post" name="testform">

<input type="text" name="textFeld1" value="<?php if (isset ($textFeld1)){ echo $textFeld1;} ?>">

<input type="submit" name="submit">
</form>

Das würde theoretisch schon reichen um es nochmal anzeigen zu lassen.

Du müsstest dir halt noch was einfallen lassen damit das Formular dann irgendwann auch mal gesendet wird (z.B. beim zweiten Formularaufruf das action attribut ändern). Ansonsten resultiert das in einer "Endlosschleife".
 
Zurück