Antworten auf deine Fragen:
Neues Thema erstellen

PHP einbinden aber nicht ausführen.

oliverdega

Noch nicht viel geschrieben

Hi,

ich steh grad voll auf dem Schlauch. Ich komm einfach nicht auf die Lösung :'(

Folgendes:

Ich habe 2 Dateien ( index.php | programm.php )
So: In der Programm-Datei habe ich alle Variablen definiert und gebe diese auch aus auf der Seite - auf dem definierten Platz.

Jetzt möchte ich das in der index.php 2 Variablen ausgegeben werden - logisch mittels echo.

Das Problem dabei ist, ich muss ja die programm.php mittels include einbinden. Somit führt er ja auch alle echo befehle aus der programm.php in der index.php Datei aus.

Weiss jemand wie ich eine Variable ausführen kann, von der programm.php in der index.php Datei.

Vielen Dank

Grüße Oli
 

NocturnalDeath

Pixelschubser

AW: PHP einbinden aber nicht ausführen.

Ich versteh den Sinn der programm.php nicht, wenn doch eh nur eine oder 2 Variablen angezeigt werden sollen.

Aber vielleicht den Rest in eine Funktion packen und dann nach Bedarf aufrufen?
 

Duddle

Posting-Frequenz: 14µHz

AW: PHP einbinden aber nicht ausführen.

Ein include() macht nichts anderes, als die angegebene Datei einzulesen und ihren Inhalt an diese Stelle zu kopieren. Danach interpretiert PHP weiter, als wenn dieser Code schon ursprünglich dort gestanden hätte. Wenn du also im eingebundenen Code eine Anweisung hast, wird die ganz normal ausgeführt.

Wenn du eine Variable nicht ausgeben lassen willst, dann gib sie nicht aus.


Duddle
 

oliverdega

Noch nicht viel geschrieben

AW: PHP einbinden aber nicht ausführen.

Hi Duddle,
ich weiss das include() meine Programm.php Datei einliest und ausgibt, dass ist ja das was ich gerne verhindern würde. Ich möchte gerne variablen aus meiner Programm.php in der index.php ausgeben lassen.

Sagen wir mal, in der Programm.php stehen 50 Variablen, 48 davon werden gleich in der Programm.php ausgegeben, 2 davon in der index.php. Damit ich die Variablen in der index.php ausgeben kann, muss ich ja der index.php ja auch den verweis geben das der Variablenwert in der Programm.php steht.

Also muss ich einen Weg finden wie ich der index.php die Variablen ausgebe die ich in der Programm.php definiert habe. Deswegen ist include() falsch.

Kann ich der index.php anderst beibringen wie sie die 2 Variablen aus der programm.php lesen soll, ohne die Programm.php auszuführen? Tricky ;-)
 

Isometric

Powerproster

AW: PHP einbinden aber nicht ausführen.

Warum definierst du deine Variablen nicht in einer anderen Datei, die du dann jeweils in index.php und programm.php per include einbindest?
 

MyBad

localhorst

AW: PHP einbinden aber nicht ausführen.

So ganz steige ich zwar nicht durch, aber ich versuche dennoch mal einen Lösungsansatz:

Erstelle doch eine dritte Datei "variablen.php" in der du alle 50 Variablen definierst, inkludiere diese Datei dann jeweils in die index.php und programm.php und gebe dort nur die benötigten Variablen aus.
 

HAL_2000

Noch nicht viel geschrieben

AW: PHP einbinden aber nicht ausführen.

Irgendwie wirkt das auf mich caotisch was Du da versuchst, aber am besten alle Variablen in einer Extradatei (z.B.: Variablen.php) initialisieren und diese mit Include_once an erstr Stelle in beiden Dateien einlesen, ich würde es zwar von Grund auf anders machen, aber so solltest Du auch ans Ziel kommen.

Edit: da war wohl einer schneller ;-)
 

ihaquer

Nicht mehr ganz neu hier

AW: PHP einbinden aber nicht ausführen.

Das hört sich schon von der Konzeption des Programmablaufs völlig chaotisch an. Ich würde so etwas anders angehen. In Deinem Fall kannst Du vor dem include in index.php eine Boolsche Variable setzen, die Du in programm.php prüfst und dort die Ausgabe vom Vorhandensein der Variable und ihrem Wert abhängig machst. Nur wenn die Variable nicht existiert, erfolgt die Ausgabe der Variablen. Ist ein simpler IF-Block.

HTH, ihaquer

Anmerkung: guter Code sieht vermutlich anders aus ^^
 
Zuletzt bearbeitet:

oliverdega

Noch nicht viel geschrieben

AW: PHP einbinden aber nicht ausführen.

;-) Leute ich weiß gar nicht was ihr habt. Das ist ein super code, schlicht übersichtlich und Benutzerfreundlich - ja, dass muss ich ja mal groß schreiben. tztz ;-) ne echt, warum immer voll ausbauen sick dateien schrieben 1000 unterordner anlegen ;-), eine Datei - alles drum und dran - fertig - easy :)

Ne also wirklich, meinen Zweck erfüllt das allemal. :) Tüftle gerade mal was aus...
 

HAL_2000

Noch nicht viel geschrieben

AW: PHP einbinden aber nicht ausführen.

wenn der Code so super ist warum funktioniert es dann nicht so wie von Dir gewollt? ;-)
 

Duddle

Posting-Frequenz: 14µHz

AW: PHP einbinden aber nicht ausführen.

Kann ich der index.php anderst beibringen wie sie die 2 Variablen aus der programm.php lesen soll, ohne die Programm.php auszuführen
Es gibt mind. einen Weg, aber der ist recht *****isch und offen für (sicherheitsproblematische) Fehlerquellen, den werde ich hier nicht wiedergeben.

Ich zitiere mich ungern, aber
Wenn du eine Variable nicht ausgeben lassen willst, dann gib sie nicht aus.

Edit: Der Filter mag i.diot.isch nicht.


Duddle
 
Zuletzt bearbeitet:

netbandit

Aktives Mitglied

AW: PHP einbinden aber nicht ausführen.

Benutzerfreundlich, ähm, naja...

Einlesen, suchen, ersetzen und PHP-Code auswerten... besser wird es dadurch leider auch nicht. :uhm:

Würde mich jetzt mal interessieren was die 5 Sternchen waren :lol:
 

HAL_2000

Noch nicht viel geschrieben

AW: PHP einbinden aber nicht ausführen.

Ich weiß nicht was genau er eigentlich machen will, grundsätzlich würde ich aber soweit aus möglich die Programmverarbeitung von der Bildschirmausgabe trennen.

Für die Programmverarbeitung finde ich es am idealsten Klassen anzulegen. Dadurch das ich seine Grundgedanken nicht kenne was die Skripte überhaupt machen sollen, ist es schwierig ein Beispiel zu erstellen, deshalb interpretiere ich einfach mal :)

nehmen wir an die gemeinsam Benutzten Variablen sind der Seitenname und der Spruch des Tages.

Als erstes eine Datei die von beiden Dateien einmal am Anfang inkludiert wird.

Nennen wir sie mal funktionen.php

<?
include_once("funktionen.php");
?>

die einzelnen Klassen würde ich dann über die Funktionen.php inkludieren (zur besseren Lesbarkeit schreibe ich für jede Klasse immer eine eigene .php Datei)

ich schreibe jetzt nicht den ganzen Programmcode sondern nur Denkanstöße ;-)

"allgemeinen" Variablen könnte man in eine Klasse global packen
Bsp.:
$global->Seitenname
und
$global->ZitatDesTages

für die Inhalte der Programm.php z.B.:
$Programm->Var1
$Programm->Var2
usw.

Nach dem inkludieren dieser Klassen in der funktionen.php sollten dann die Klassen initialisiert (bsp: $global = new global(); ) und mit Daten gefüllt werden (bsp: $global->Seitenname="HIER TEXT"; , man kann auch einen Konstruktor bauen sodas man die Variablen direkt über die New Anweisung mitgibt ( new global("Seitenname","Spruch des Tages") , das zu erklären würde jetzt aber zuweit führen ;-) ). (ich würde das auch in einer extra Datei machen z.B.: init.php die nach dann auch über die funktionen.php inkludiert wird. Dies hat den Vorteil das man später zum Ändern der Variablen nur noch eine Datei "anfassen " muss.
In der init.php kann man nun die Klassen initialisieren und die entsprechenden Variablen zuordnen bzw. setzen.
Irgendwo hatte ich was von > 50 Variablen gelesen, wäre hier die Verwendung einer Datenbank nicht angebracht und einfacher, das wäre zumindest meine erste Überlegung?

Der eigentlich Output z.B.: (<? echo $global->Seitenname; ?> geht dann wesentlich einfacher, man kann durch die Klassen dann auch bestimmte Verarbeitungsmechanismen aufrufen ohne das in der Programm.php überhaupt Verarbeitungscode steht. Dadurch sind die Seiten wesentlich einfacher zu "lesen", zu warten und skalierbar.

Ich hoffe ich habe es nicht zu konfus geschrieben und die Denkanstöße helfen weiter, im schlimmsten Falle einfach nachfragen und ich helfe weiter :)
 

ihaquer

Nicht mehr ganz neu hier

AW: PHP einbinden aber nicht ausführen.

Ich weiß nicht was genau er eigentlich machen will, grundsätzlich würde ich aber soweit aus möglich die Programmverarbeitung von der Bildschirmausgabe trennen.

...

Ich hoffe ich habe es nicht zu konfus geschrieben und die Denkanstöße helfen weiter, im schlimmsten Falle einfach nachfragen und ich helfe weiter :)
Danke! Das waren im wesentlichen auch meine Gedanken ;)

Wobei ich persönlich in die HTML-Dateien Platzhalter einbaue, die ich per regulärem Ausdruck mit dem Inhalt der Variablen ersetzen lasse. Da gibt es eine nette Konstruktion, mit der man alle Platzhalter der Form %NAME% durch den Inhalt von $NAME ersetzen kann. Allerdings muss man dann einige Sicherheitsmechanismen einbauen, damit ein Angreifer nicht eine nicht gewünschte Variable ausgeben lassen kann.

Dmit ist das ganze besser lesbar und die Trennung von Code und Layout noch weiter gehend. Oder man nimmt gleich eine Template-Engine, die so aufgebaut ist, dass Angriffe weitestgehend ausgeschlossen sind.
 

Isometric

Powerproster

AW: PHP einbinden aber nicht ausführen.

@HAL_2000: Danke für die ausführliche Erklärung. Mit Klassen habe ich mich bis jetzt noch nicht beschäftigt, ich werde aber mal prüfen, ob es bei meinen "Progrämmchen" Vorteile bringen kann, da die Wartung und Nachvollziehbarkeit auch bei kleinen Anwendungen nicht einfach genug sein kann.
 

Curanai

Aktives Mitglied

AW: PHP einbinden aber nicht ausführen.

Sollten das starre Werte (Datenbank, Faktoren, Verzeichnisse o. ä.) sein, zwängt sich der Einsatz von KONSTANTEN auch noch auf ...

OOP (Klassen) brauchst meiner Meinung nach dafür nicht - aber je nach Folgeaufwand (was Du noch damit vor hast) vielleicht eine Berücksichtigung wert. Einstieg ist ganz einfach ...

Sonnige Grüße.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
118.635
Beiträge
1.538.473
Mitglieder
67.558
Neuestes Mitglied
StarsMan
Oben