PHP Mit Formular Text/Code generieren

budni

Lieutenant
Registriert
März 2008
Beiträge
844
Hallo zusammen,

ich möchte ein Formular erstellen, welches je nach Angabe unterschiedlichen Text/Code ausgibt. Meine PHP/HTML-Zeiten sind schon lange her, aber ich bin gewillt ein wenig Zeit zu investieren. Aber irgendwie muss man ja auch wissen, wo man anfangen sollte ;-)

Die Logik des Formular soll sein:

1. User klickt in dem Formular verschiedene Kontrollkästchen an und in Textfeldern macht er bestimmte Angaben.
2. User klickt auf "Code generieren" (oder ähnlich)
3. Auf einer weiteren Seite (oder meinetwegen auf der gleichen) erscheint anhand der Angaben im Formular der Code.

Beispiele:

- Kontrollkästchen bietet Option AN/AUS
-- Code bei AN = <ScriptABC>1</ScriptABC>
-- Code bei AUS = <ScriptABC>0</ScriptABC>

- Textfeld wird mit "123" befüllt
-- Code lautet <ScriptQWERTZ>123</ScriptQWERTZ>

Kann mir jemand dazu helfen ;-) ?

Vielen Dank!
 
budni schrieb:
- Kontrollkästchen bietet Option AN/AUS
-- Code bei AN = <ScriptABC>1</ScriptABC>
-- Code bei AUS = <ScriptABC>0</ScriptABC>

- Textfeld wird mit "123" befüllt
-- Code lautet <ScriptQWERTZ>123</ScriptQWERTZ>

Dazu nimmt man zum Bleistift ein "Template-System". Man schreibt den "Code" als Template vor und setzt an den variablen Stellen sog. Platzhalter. Dann befüllt man diese je nach der konkreten User-Eingabe (über Smarty): http://www.smarty.net/crash_course
 
Geht relativ einfach ;)

Ganz einfach so:
1. normales HTML-Formular mit deinen Feldern, mit name="xxx", post oder get-action auf deine PHP-Datei
2. In der PHP-Datei:
Wenn feld1 = 1 gib xy aus
Wenn feld1 = 0 gib xz aus

Zu xy oder xz kannst du dann jeweils andere Felderinhalte hinzufügen.

http://php.net/manual/de/tutorial.forms.php

Lg, Franz

PS: Für große Mengen Code ist ein System wie oben dann natürlich sinnvoller
 
Zuletzt bearbeitet:
Hallo!

Vielen Dank für eure beiden Links! Ich glaube tatsächlich, dass der zweite Teil/Art vollkommen ausreichen sollte.
Ich bekomme allerdings das Problem, dass wenn ich in der action.php mit dem Code Schnipsel

<switch><?php echo $_POST['Name']; ?></switch>

arbeite, er den Code verschluckt. <switch></switch> scheint eine PHP-Funktion zu sein. Kann ich das in dem Falle deaktivieren?
 
Ja na klar ;-) Habe eine Lösung gefunden:

echo htmlentities('<switch>');

Ist nun ein wenig mehr Code, aber passt schon. Es scheint mit < und > Probleme zu geben. Selbst wenn ich <abc> als Variable setze.
 
Natürlich müssen < und > als &lt; und &gt; kodiert werden, sonst denkt der Browser es sei HTML und zeigt es nicht an. Das gleiche gilt für & und ". Dafür ist htmlentities() da.
 
alternativ content-type auf einen mime type setzen, der sich nicht von SGML ableitet. also z.b.
PHP:
header("Content-Type: text/plain");
 
Zurück
Oben