Nach langer html.de-Abstinenz habe ich mich wieder zurück-verirrt und möchte nun wieder richtig loslegen.
Doch schon stellt sich mein erstes Problem:
Ich habe vor, ein Formular zu entwerfen, in dem in verschiedenen 's und 's bestimmte Daten vom User eingetragen werden können und durch einen „Generieren“-Button ein HTML-Code (optional auf die Angaben des Users angepasst) dem User angezeigt wird.
Beispiel:
Jeder User soll einen „Steckbrief“ seines Autos auf seiner Seite unterbringen können. Hierfür ist bspw. interessant „PS, max. Geschw., von 0 auf 100 in … usw.“ - Der User braucht hierzu lediglich ausüllen:
PS? [ FORMULARFELD ]
max. Geschw.? [ FORMULARFELD ]
von 0 auf 100 in? [ FORMULARFELD ]
Durch auf „Generiereren“ klicken wird ihm ein Code herausgegeben wie bspw …
<table><tr><td>PS</td><td>180</td></tr><tr><td>max. Geschw.</td><td>240</td></tr><tr><td>von 0 auf 100 in</td><td>8 Sek.</td></tr></table>
Zugegeben - Das ist natürlich ein sehr einfaches Beispiel. Doch die Komplexität einer Tabelle lässt sich ja ins Unendliche vergrößern.
Könntet Ihr mir hierbei helfen? Ich weiß ehrlich gesagt nicht einmal mehr, wo ich anfangen soll - Geschweige denn ob dies überhaupt das richtige Forum ist für meine Frage
Das sieht doch schon sehr viel einfacher aus, als ich es mir mit JavaScript vorgestellt hatte. Eine Sache aber: Wie binde ich im obigen Quelltext nun meinen „Button“ ein? Denn: So wie es momentan ausschaut, kann sich der User gar nicht den QT generieren lassen
vergessen. Denn sonst hätte es die Tabelle umgesetzt.
Habe dir noch etwas dazugeschrieben, dass wenn noch nichts generiert wurde, dass eine Meldung erscheint.
In Javascript gibst eine Funktion namens createElement, die dazugehörigen funktionen wie createTextNode und appendChild kannst du wunderbar nutzen um dir HTML Code zu generieren lassen.
Ich denke, dass die PHP-Lösung soweit die beste ist. Vielen, vielen Dank! Ich konnte soweit alles auf meine Anwendungen anpassen, allerdings ergab sich noch ein Problem: Wie erreiche ich, dass nachdam man auf „Generieren“ klickt, die Eingaben des Users nicht aus den Formularfeldern verschwinden? So könnte man ggf. die eigenen Einträge editieren und muss nicht gleich alles noch einmal eintragen -
Klar geht das.
Ich habe es für die Übersicht per GET abschicken lassen, dass man die Übersicht hat.
Es sieht nun so aus:
[php]
<?php
if(!isset($_GET['submit']))
{
echo'PS:
Max. Geschwindigkeit:
Zeit von 0-100:
';
}
elseif($_GET['submit'] == 'GENERIEREN')
{
echo'PS:
Max Geschwindigkeit:
Zeit von 0-100:
';
}
else
{
echo'PS:
Max. Geschwindigkeit:
Zeit von 0-100:
';
}
?>
';
}
}
?>[/php]Nun prüft es oben, ob es schon generiert wurde. Wenn nicht, dann setzt es den Normalmodus ein. Wenn doch, dann ruft es bei value="" die $_GET Variablen runter.
Und dann habe ich unten einfach statt $_POST[‚generator‘] einfach $_GET[‚submit‘].
Obwohl es wohl mittlerweile eher in die Kategorie „PHP“ gehört, hier noch einmal mein editierter (und erweiterter) Quelltext. Das Beispiel mit den „Auto-Steckbriefen“ war natürlich nur eine Anwendung, deswegen habe ich so stehen lassen. Die eigentlich „Anwendung“ werden Sport-Spiel-Sheets sein. Deswegen die neuen Eingabefelder „Score1“ und „Score2“ (in WYSIWYG-Schreibweise, nicht wundern - dort möchte ich es später anwenden). Hinzu kommen viele „wenn … dann“-Zeilen, so wird bspw. nun - sofern man nichts einträgt - im ausgegebenen Code eine Eingabe erscheinen wie etwa „Keine Angaben“. Dies alles kombiniert mit der vorherigen Antwort, wie man den eigenen Eintrag zum Editieren speichern kann, ergab jenen Quelltext:
[php]
<?php
if(!isset($_GET['submit']))
{
echo 'PS:
Max. Geschwindigkeit:
Zeit von 0-100:
Score T1 :
Score T2
';
}
elseif($_GET['submit'] == 'GENERIEREN')
{
echo'PS:
Max Geschwindigkeit:
Zeit von 0-100:
Score T1 :
Score T2
';
}
else
{
echo'PS:
Max. Geschwindigkeit:
Zeit von 0-100:
Score T1 :
Score T2
';
}
?>
Also an mehreren „else if“ kann es nicht liegen.
Er nimmt halt die erste die passt, und ignoriert dann alle anderen.
Um das ganze zu debuggen würde ich dir empfehlen den Code einzurücken, und Zeile für Zeile zu kontrollieren.
Sind alle aufgemachten Klammern auch wirklich geschlossen?
Da hilft nur Zählen
Der Fehler den du da hast, ist meines erachtens einer der „schlimmsten“ in Fehler für den Entwickler -.-