Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: MEDICAL OFFICE - Anwenderforum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

Mittwoch, 20. Februar 2013, 18:40

PHP: Probleme mit Include

Hallo

Da die Zeichenanzahl für kleine PHP-Scripte auf 500 Zeichen pro Schnellinfo begrenzt ist UND die Übersichtlichkeit solcher Bandwurmscripts gering ist, versuche ich Scripte mittels include einzubinden. Dabei bekomme ich aber nur unten stehenden Script-Code (Bild1), nicht jedoch die Ausgabe in der Schnellinfo angezeigt, füge ich jedoch den Code von HalloWelt.php direkt in die Zeile ein, klappt die Ausgabe richtig. (Bild2) Bild3 zeigt einen Auschnitt aus dem Schnellinfo-Code, der Dialog lässt sich vergrößern, die Felder leider nicht, deshalb Blick durch den Türspion. Der originale Inhalt lautet;

{PHP} include "F:\INDAMED\PHP\HalloWelt.php"; {/PHP}


Ich stehe auf dem berühmte Schlauch. HalloWelt ist natürlich nur ein Beispiel.

index.php?page=Attachment&attachmentID=295index.php?page=Attachment&attachmentID=296index.php?page=Attachment&attachmentID=297
Freundliche Grüße, Jörg Sprenger

2

Donnerstag, 21. Februar 2013, 11:06

Die Suche in diesem Forum nach dem Begriffen "Schnellinfo", oder "PHP" birngt in diesem Fall Licht ins Dunkel.

Als Beispiel sei dieser Thread gezeig:
Liste "Schnellinfo"

Stichwort:
$a = file_get_contents("dateipfad/dateiname.php"); eval($a);

Zur Erklärung:
http://php.net/manual/de/function.eval.php

Es wäre fatal, würde bei jedem include, oder file_get_conetents der Inhalt als Code interpretiert.
[url='https://www.indamed.de']www.indamed.de[/url]

3

Donnerstag, 21. Februar 2013, 16:16

Diesen Weg hatte ich auch versucht,
{PHP} $Ziff=file_get_contents('M:\INDAMED\php\GZ_Check.php'); eval($Ziff);{/PHP}

wobei GZ_Check den Inhalt hatte;
{PHP}$VP={Count:Q:A:KV:Gebühren:04110};$VPL={Count:Q:AL:KV:Gebühren:04110};$KPL={Count:Q:AL:KV:Gebühren:01435};$PSZ={Count:Q:AL:KV:Gebühren:99989}; if(
({Count::::Markierung:Chroniker}>0) and ({Count:Q:A:KV:Behandlungstage}>1) and ({Count:Q:A:KV:Gebühren:04212}<1)) {$CP=X;} else {$CP=0;}; echo $VP.$VPL.$KPL.$PSZ.$CP; $DD="ZiffCheck.TXT";
$fp=fopen($DD, "w"); fwrite($fp, $VP.$VPL.$KPL.$PSZ.$CP); fclose($fp);{/PHP}

Der Code von GZ_check alleine klappt, der erst Code aber nicht. Ich vermute, dass ich eine wichtge Info übersehe.

Zitat: Es wäre fatal, würde bei jedem include, oder file_get_conetents der Inhalt als Code interpretiert.


Das habe ich nicht verstanden, was ist da mein falscher Gedanke. Laut PHP-Manual soll doch include der Auslagerung von Code in externe Dateien sein, die zur Laufzeit eingebunden werden, oder habe ich das falsch verstanden.
Freundliche Grüße, Jörg Sprenger

4

Donnerstag, 21. Februar 2013, 17:06

....bei meinem letzten Post kann ich leider wieder nicht mehr editieren......

in obigem Beispiel mit GZ_Check habe ich die Pfade vor GZ_Check mit \ und auch mit / wie im BMI-Beispiel versucht, aber irgend etwas relevantes scheine ich zu übersehen, die Schnellinfozeile bleibt leer.

index.php?page=Attachment&attachmentID=298
Freundliche Grüße, Jörg Sprenger

5

Donnerstag, 21. Februar 2013, 17:10

...und die GZ_Check habe ich mit und ohne umgebende{PHP}{/PHP} ausprobiert...
Freundliche Grüße, Jörg Sprenger

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Josmed« (17. März 2013, 12:36)


6

Donnerstag, 21. Februar 2013, 17:26

Ich denke dass die "Count"-Befehle im Script GZ_Check.php nicht funktionieren.
Sie sollten dem Script die Ergebnisse der Count-Befehle übergeben, dann damit im Script "weiterrechnen".

MfG
Markus Schlachtenkow

7

Donnerstag, 21. Februar 2013, 20:58

Hallo Herr Schlachtenkow
Ich denke dass die "Count"-Befehle im Script GZ_Check.php nicht funktionieren.
Sie sollten dem Script die Ergebnisse der Count-Befehle übergeben, dann damit im Script "weiterrechnen".

MfG
Markus Schlachtenkow
Aber die klappen doch, wenn ich das Script direkt in die Schnellinfo-Zeile eintrage. Sie klappen nicht, wenn ich den Code, in {PHP} eingeschlossen includiere, bzw ohne {PHP} mit file_get_contents einlese. Ich habe ja schon gesagt, dass ich von PHP keine Ahnung habe und auch kein Schnellmerker bin, aber anders als so in Mini-Schritten geht es einfach nicht, deshalb diese naiven Fragen. ^^
Beispiel:

{PHP}$VP={Count:Q:A:KV:Gebühren:04110}; $VPL={Count:Q:AL:KV:Gebühren:04110}; $KPL={Count:Q:AL:KV:Gebühren:01435}; $PSZ={Count:Q:AL:KV:Gebühren:99989}; if(({Count::::Markierung:Chroniker}>0) and ({Count:Q:A:KV:Behandlungstage}>1) and ({Count:Q:A:KV:Gebühren:04212}<1)) {$CP=0;} else {$CP=1;}; echo $VP.$VPL.$KPL.$PSZ.$CP; $DD="ZiffCheck.TXT"; $fp=fopen($DD, "w"); fwrite($fp, $VP.$VPL.$KPL.$PSZ.$CP); fclose($fp);{/PHP}



klappt, aber nur, wenn ich es direkt in die Befehlszeile der Schnellinfo schreibe. Da die gesamte Zeichenzahl hier auf 500 begrenzt ist, wollte ich auslagern. Da ich aber auch keine Fehlermeldung bekomme (gibt es eine Log-Datei?), fische ich im trüben Wasser.


Aber vielleicht reden wir aneinander vorbei, weil ich es immer noch nicht verstehe.
In dem Zusammenhang habe ich das Zitat von Herr Bechtatou, Es wäre fatal, würde bei jedem include, oder file_get_conetents der Inhalt als Code interpretiert., noch nicht begriffen. Wird denn jede Schnellinfozeile , bzw der dortige Code mit include anders interpretiert, als direkt in die Zeile geschriebener Code???
Freundliche Grüße, Jörg Sprenger

8

Freitag, 22. Februar 2013, 17:21

Ich wollte damit sagen dass etwas wie {Count:Q:A:KV:Gebühren:04110} wohl nur in der Zeile "Inhalt" der Schnellinfo interpretiert bzw. umgesetzt wird, in einer eingebundenen PHP-Datei funktioniert das denke ich nicht. Sie müssen diese MO-Platzhalter als Variable in der Form $VP={Count:Q:A:KV:Gebühren:04110} an die PHP-Datei übergeben und darin dann mit $VP weiterarbeiten.

Schauen Sie sich mal das von Hr. Bechtatou erwähnte Beispiel an, da wurde das so umgesetzt.

MfG
Markus Schlachtenkow

9

Freitag, 22. Februar 2013, 18:45

Ich wollte damit sagen dass etwas wie {Count:Q:A:KV:Gebühren:04110} wohl nur in der Zeile "Inhalt" der Schnellinfo interpretiert bzw. umgesetzt wird, in einer eingebundenen PHP-Datei funktioniert das denke ich nicht.

Okay. Wundert mich, da es ja Bestandteil des PHP-Scriptes ist und somit eigentlich einen Fehler auslösen müsste, wenn es falscher Code wäre. Wie gesagt, ich habe noch keinen Schimmer von PHP, übertrage alles nur aus uralten Basic-Zeiten.....

Zum Verständnis frage ich deshalb aber nochmal nach; Code in {PHP} ...{/PHP} eingeschlossen wird als PHP-Code interpretiert !?
Code, welche per include eingelesen wird, wird so interpretiert, als stände er nativ an der Stelle des inlucde()-Befehls!? Unterschied include <>include()
Code, der mittels file_get_contents eingelesen wird, wird so interpretiert, als stände an Stelle des STRINGS mit dem Inhalt $Text der gesamte Text!? Hier wird Text, kein interpertierbarer Code geladen, dieser muss durch Steuercodes erst zum interpretieren gebracht werden???
Freundliche Grüße, Jörg Sprenger

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Josmed« (17. März 2013, 12:36)


10

Freitag, 22. Februar 2013, 22:25

so ganz langsam.......... die Deklaration $Geb={Patient.Geburtsdatum} oder $Anzahl={Count...blabla} sind keine PHP-Befehle...
Freundliche Grüße, Jörg Sprenger