Also wer gesagt hat, dass html fast gleich php ist, gehört verbrannt.
PHP wird serverseitig ausgeführt. Das heisst alle Berechnungen DB-Zugriffe usw. bekommt der Client nicht mit. Nur was PHP mit echo oder print ausgibt, wird an den Client geschickt und im Browser angezeigt.
Das ist schonmal ein gewaltiger Unterschied und muss verstanden werden, da man die Sache sonst verkehrt angeht.
Was Du an Code-Schnipseln gezeigt hast, zeigt, dass die Datei HTML-Code und PHP-Code enthält.
Damit der Server weiß, wann es HTML ist und wann PHP, wird PHP-Code immer mit einem <?php oder auch kurz <? eingeleitet. Der Code endet wieder nach einem ?>.
HTML und PHP erzeugen in Deinem Beispiel ein Formular. Beim Abschicken des Formulars werden Daten an die Datei übergeben. Diese DAten beeinflussen wiederrum die Anzeige, beispielsweise, ob "Anlegen" oder ob "Aktualisieren" angezeigt werden soll.
- Code: Select all
if ($form_sended == 1 and $loadDataset <> 0 and !($form_eintrag_loeschen_a and $form_eintrag_loeschen_b and $form_eintrag_loeschen_c)) { echo '
Patientendaten wurde aktualisiert
bedeutet z.B. dass die Anzeige "aktualisiert" nur dann kommt, wenn der Formular abgeschickt wurde, wenn Daten angegeben wurden und wenn weder eintrag_loeschen_b noch eintrag_loeschen_c "wahr" sind.
Ich vermute mal, dass $loadDataset nie Inhalt enthält, somit immer 0 ist und somit wird die Anzeige nie erscheinen. Das kann z.B. daran liegen, dass register_globals falsch gesetzt ist. Das ist ein Security-Ding, dass Variablen, die per POST übergeben werden sollen, nicht in der Browserzeile simuliert werden können etc. Die Variablen müssen daher über _POST["Variable"] ausgelesen werden.
Du kannst diese Sicherheit aber auch abschalten (was allerdings nicht empfohlen ist).
Ich nehme an, dass Du in dem Formular einige Textfelder hast:
<input type="text" name"xyz">
Es wäre schonmal ein Anfang wenn Du irgendwo im Bodybereich vom HTML-Code eine Debug-Zeile einfügen würdest:
<? echo "Test=$xyz<br/>"; ?>
Du solltest dann bei jedem Aufruf der Seite diese Zeile irgendwo stehen sehen. Schreibe anstatt xyz den Namen eines Text-Eingabefeldes.
Wenn Du, egal wann, immer nur "Test=" siehst, ohne dass was dahinter steht, dann weisst Du, dass die Formulardaten nicht ohne Zugriff auf _POST gelesen werden können.
[/code]