App installieren
How to install the app on iOS
Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
[PHP] Einer Variable ein Skript zuweisen, geht das?
- Ersteller Maxefix
- Erstellt am
Hallo,
meine Wenigkeit hat mal wieder nen Problem mit PHP und ist zu dumm um die Lösung per Google zu finden Deshalb bleibt mir wohl nix anderes übrig als euch wieder zu nerven
Erstmal eine grobe Beschreibung meines Skriptes:
Ich hab eine index.php und je nach der $_GET-Variable werden unterschiedliche Inhalte eingefügt (ist also ne ganz primitive Form von einem CMS). Die Inhalte werden in einer Textdatei in einem extra Ordner gespeichert. Da ich neben dem Inhalt auch den Seitentitel festlegen will arbeite ich mit Variablen ($titel für den Seitentitel und $inhalt für den Inhalt).
Bei einfachen Inhalten funktioniert das schon wunderbar, aber jetzt wollte ich ein Kontaktskript einbinden, dh das PHP-Skript steht in der $inhalt Variable. Das ganze funktioniert jetzt natürlich nicht mehr weil dann in der Variable wieder ein "PHP-Bereich" geöffnet und vorallem geschlossen wird.
Wie kann ich das Problem lösen? Oder anders formuliert: Wie kann ich einer Variable ein PHP-Skript zuweisen?
Schonmal Danke für eure Hilfe
MFG Max
meine Wenigkeit hat mal wieder nen Problem mit PHP und ist zu dumm um die Lösung per Google zu finden Deshalb bleibt mir wohl nix anderes übrig als euch wieder zu nerven
Erstmal eine grobe Beschreibung meines Skriptes:
Ich hab eine index.php und je nach der $_GET-Variable werden unterschiedliche Inhalte eingefügt (ist also ne ganz primitive Form von einem CMS). Die Inhalte werden in einer Textdatei in einem extra Ordner gespeichert. Da ich neben dem Inhalt auch den Seitentitel festlegen will arbeite ich mit Variablen ($titel für den Seitentitel und $inhalt für den Inhalt).
Bei einfachen Inhalten funktioniert das schon wunderbar, aber jetzt wollte ich ein Kontaktskript einbinden, dh das PHP-Skript steht in der $inhalt Variable. Das ganze funktioniert jetzt natürlich nicht mehr weil dann in der Variable wieder ein "PHP-Bereich" geöffnet und vorallem geschlossen wird.
Wie kann ich das Problem lösen? Oder anders formuliert: Wie kann ich einer Variable ein PHP-Skript zuweisen?
Schonmal Danke für eure Hilfe
MFG Max
OBrian
Moderation MBDB, ,
- Mitglied seit
- 16.10.2000
- Beiträge
- 17.032
- Renomée
- 267
- Standort
- NRW
- Prozessor
- Phenom II X4 940 BE, C2-Stepping (undervolted)
- Mainboard
- Gigabyte GA-MA69G-S3H (BIOS F7)
- Kühlung
- Noctua NH-U12F
- Speicher
- 4 GB DDR2-800 ADATA/OCZ
- Grafikprozessor
- Radeon HD 5850
- Display
- NEC MultiSync 24WMGX³
- SSD
- Samsung 840 Evo 256 GB
- HDD
- WD Caviar Green 2 TB (WD20EARX)
- Optisches Laufwerk
- Samsung SH-S183L
- Soundkarte
- Creative X-Fi EM mit YouP-PAX-Treibern, Headset: Sennheiser PC350
- Gehäuse
- Coolermaster Stacker, 120mm-Lüfter ersetzt durch Scythe S-Flex, zusätzliche Staubfilter
- Netzteil
- BeQuiet 500W PCGH-Edition
- Betriebssystem
- Windows 7 x64
- Webbrowser
- Firefox
- Verschiedenes
- Tastatur: Zowie Celeritas Caseking-Mod (weiße Tasten)
Du kannst doch das Scriptstückchen mit in die zweite Datei reinschreiben und dann im Bedarfsfalle aktivieren und mit den übergebenen Werten versorgen.
Oder, wenn Du den String-Inhalt einer Variablen (mehr kann ja nicht drinstehen) ausführen willst, mit exec() arbeiten.
Oder, wenn Du den String-Inhalt einer Variablen (mehr kann ja nicht drinstehen) ausführen willst, mit exec() arbeiten.
Das könnte bei dem Kontaktskript funktionieren, gleich mal ausprobieren. Aber ich wollte ja auch noch einen Blog so einbinden, das wird dann wohl nicht mehr funktionieren?!Du kannst doch das Scriptstückchen mit in die zweite Datei reinschreiben und dann im Bedarfsfalle aktivieren und mit den übergebenen Werten versorgen.
Neben dem Skript steht ja auch noch was anderes drin, also das Skript ist nur ein Bestandteil des Inhaltes.Oder, wenn Du den String-Inhalt einer Variablen (mehr kann ja nicht drinstehen) ausführen willst, mit exec() arbeiten.
MFG Max
OBrian
Moderation MBDB, ,
- Mitglied seit
- 16.10.2000
- Beiträge
- 17.032
- Renomée
- 267
- Standort
- NRW
- Prozessor
- Phenom II X4 940 BE, C2-Stepping (undervolted)
- Mainboard
- Gigabyte GA-MA69G-S3H (BIOS F7)
- Kühlung
- Noctua NH-U12F
- Speicher
- 4 GB DDR2-800 ADATA/OCZ
- Grafikprozessor
- Radeon HD 5850
- Display
- NEC MultiSync 24WMGX³
- SSD
- Samsung 840 Evo 256 GB
- HDD
- WD Caviar Green 2 TB (WD20EARX)
- Optisches Laufwerk
- Samsung SH-S183L
- Soundkarte
- Creative X-Fi EM mit YouP-PAX-Treibern, Headset: Sennheiser PC350
- Gehäuse
- Coolermaster Stacker, 120mm-Lüfter ersetzt durch Scythe S-Flex, zusätzliche Staubfilter
- Netzteil
- BeQuiet 500W PCGH-Edition
- Betriebssystem
- Windows 7 x64
- Webbrowser
- Firefox
- Verschiedenes
- Tastatur: Zowie Celeritas Caseking-Mod (weiße Tasten)
Wenn Du unbedingt alles in eine Variable packen mußt (warum eigentlich?), dann vielleicht besser in ein Array, wo Du die Teile dann trennen kannst, oder mehrere Variablen. Aber irgendwie mußt Du schon wissen, WIE da was drinsteht, bevor Du es ausliest, damit es sauber verarbeitbar ist.
Also, Ziel des ganzen ist das die Seite klein und kompakt bleibt aber leicht erweiterbar/editierbar ist. Durch das das es nur eine wirkliche Datei gibt in die nur die einzelnen Unterseiten eingefügt werden lässt sich halt sehr leicht das Design ändern, die Navigationsleiste ändern usw usf. Problem ist aber das man bei den unterschiedlichen Unterseiten zwei Dinge ändern muss: Der Seitentitel und den Seiteninhalt. Deshalb brauch ich Variablen um die zwei Dinge zu trennen. Vielleicht könnte man das auch anders lösen aber ich wüsste nicht wie *PHP-Anfänger ist*Wenn Du unbedingt alles in eine Variable packen mußt (warum eigentlich?), dann vielleicht besser in ein Array, wo Du die Teile dann trennen kannst, oder mehrere Variablen. Aber irgendwie mußt Du schon wissen, WIE da was drinsteht, bevor Du es ausliest, damit es sauber verarbeitbar ist.
Aufjedenfall hab ich jetzt versucht das Skript auszulagern, also das man es nur über diese <form> aufruft. Problem ist nur das ich dann so leicht keine Meldungen mehr ausgeben kann ("Bitte Namen angeben" etc.) weil ich dann ja wieder PHP brauchen würde
Naja, bin halt mal wieder völlig überfordert
MFG Max
PS: Das mit dem exec() hab ich auch noch nicht verstanden, aber das schau ich mir nachm Essen nochmal an.
OBrian
Moderation MBDB, ,
- Mitglied seit
- 16.10.2000
- Beiträge
- 17.032
- Renomée
- 267
- Standort
- NRW
- Prozessor
- Phenom II X4 940 BE, C2-Stepping (undervolted)
- Mainboard
- Gigabyte GA-MA69G-S3H (BIOS F7)
- Kühlung
- Noctua NH-U12F
- Speicher
- 4 GB DDR2-800 ADATA/OCZ
- Grafikprozessor
- Radeon HD 5850
- Display
- NEC MultiSync 24WMGX³
- SSD
- Samsung 840 Evo 256 GB
- HDD
- WD Caviar Green 2 TB (WD20EARX)
- Optisches Laufwerk
- Samsung SH-S183L
- Soundkarte
- Creative X-Fi EM mit YouP-PAX-Treibern, Headset: Sennheiser PC350
- Gehäuse
- Coolermaster Stacker, 120mm-Lüfter ersetzt durch Scythe S-Flex, zusätzliche Staubfilter
- Netzteil
- BeQuiet 500W PCGH-Edition
- Betriebssystem
- Windows 7 x64
- Webbrowser
- Firefox
- Verschiedenes
- Tastatur: Zowie Celeritas Caseking-Mod (weiße Tasten)
Zäum das Pferd doch andersrum auf: Die Dinge, die nur auf einer Seite stehen, schreibst Du direkt darein bzw. holst sie passend aus der Datenbank, und die Dinge, die sich auf allen Seiten wiederholen (Navigationsleiste, Header, Footer usw.) verpackst Du in Includes. Das sind extra php-Dateien, die Codeschnipsel enthalten und dann mit einem kleinen einzeiligen Befehl an passender Stelle eingebaut werden können.
Oder schreib alles in eine Datei, und die Stelle, die sich immer ändert, holst Du Dir per include, eigentlich Jacke wie Hose. Mußt dann natürlich den Dateinamen übergeben, also z.B. index2.php&filename=test, dann kann man mit include($filename) den Inhalt der Datei test dort einfügen.
Du hast dann jedenfalls keine Codeteile, die Du irgendwie übertragen mußt, denn alles, was dynamisch generiert wird oder vom Besucher der Webseite eingegeben wird, ist nur reiner Text, Zahlen oder ein BLOB (z.B. Bilddateiupload), jedenfalls kein auszuführender Code.
Oder schreib alles in eine Datei, und die Stelle, die sich immer ändert, holst Du Dir per include, eigentlich Jacke wie Hose. Mußt dann natürlich den Dateinamen übergeben, also z.B. index2.php&filename=test, dann kann man mit include($filename) den Inhalt der Datei test dort einfügen.
Du hast dann jedenfalls keine Codeteile, die Du irgendwie übertragen mußt, denn alles, was dynamisch generiert wird oder vom Besucher der Webseite eingegeben wird, ist nur reiner Text, Zahlen oder ein BLOB (z.B. Bilddateiupload), jedenfalls kein auszuführender Code.
Zuletzt bearbeitet:
BoMbY
Grand Admiral Special
- Mitglied seit
- 22.11.2001
- Beiträge
- 7.468
- Renomée
- 293
- Standort
- Aachen
- Prozessor
- Ryzen 3700X
- Mainboard
- Gigabyte X570 Aorus Elite
- Kühlung
- Noctua NH-U12A
- Speicher
- 2x16 GB, G.Skill F4-3200C14D-32GVK @ 3600 16-16-16-32-48-1T
- Grafikprozessor
- RX 5700 XTX
- Display
- Samsung CHG70, 32", 2560x1440@144Hz, FreeSync2
- SSD
- AORUS NVMe Gen4 SSD 2TB, Samsung 960 EVO 1TB, Samsung 840 EVO 1TB, Samsung 850 EVO 512GB
- Optisches Laufwerk
- Sony BD-5300S-0B (eSATA)
- Gehäuse
- Phanteks Evolv ATX
- Netzteil
- Enermax Platimax D.F. 750W
- Betriebssystem
- Windows 10
- Webbrowser
- Firefox
Man kann in einem PHP-Script dynamischen PHP-Code ausführen, den man z.B. aus einer Datenbank oder einer Datei geladen hat. Dafür gibt es die eval-Funktion: http://de3.php.net/manual/de/function.eval.php . Man muss dabei natürlich darauf achten, dass man damit einem Hacker nicht Tür und Tor öffnet. Aber vieleicht hilft Dir das ja weiter?
Gruß,
BoMbY
Gruß,
BoMbY
Ich habs jetzt so gelöst wie OBrian es vorgeschlagen hat:Man kann in einem PHP-Script dynamischen PHP-Code ausführen, den man z.B. aus einer Datenbank oder einer Datei geladen hat. Dafür gibt es die eval-Funktion: http://de3.php.net/manual/de/function.eval.php . Man muss dabei natürlich darauf achten, dass man damit einem Hacker nicht Tür und Tor öffnet. Aber vieleicht hilft Dir das ja weiter?
Aber trotzdem Danke für den Hinweis, ich werds mir merken.Zäum das Pferd doch andersrum auf: Die Dinge, die nur auf einer Seite stehen, schreibst Du direkt darein bzw. holst sie passend aus der Datenbank, und die Dinge, die sich auf allen Seiten wiederholen (Navigationsleiste, Header, Footer usw.) verpackst Du in Includes. Das sind extra php-Dateien, die Codeschnipsel enthalten und dann mit einem kleinen einzeiligen Befehl an passender Stelle eingebaut werden können.
MFG Max
oder du könntest natürlich auch das script in ne function packen und das dann in nder Variable ausführen wenn du verstehst was ich mein.
also
function xyz()
{
-- Ich bin das script
}
und dann
$variable = xyz();
also
function xyz()
{
-- Ich bin das script
}
und dann
$variable = xyz();
Hmm..Danke, hört sich gut an. Vielleicht mal ausprobieren wenn ich wieder Zeit und Motivation dazu hab. Bei dieser Homepage hab ichs jetzt halt anders gelöstoder du könntest natürlich auch das script in ne function packen und das dann in nder Variable ausführen wenn du verstehst was ich mein.
also
function xyz()
{
-- Ich bin das script
}
und dann
$variable = xyz();
MFG Max
OBrian
Moderation MBDB, ,
- Mitglied seit
- 16.10.2000
- Beiträge
- 17.032
- Renomée
- 267
- Standort
- NRW
- Prozessor
- Phenom II X4 940 BE, C2-Stepping (undervolted)
- Mainboard
- Gigabyte GA-MA69G-S3H (BIOS F7)
- Kühlung
- Noctua NH-U12F
- Speicher
- 4 GB DDR2-800 ADATA/OCZ
- Grafikprozessor
- Radeon HD 5850
- Display
- NEC MultiSync 24WMGX³
- SSD
- Samsung 840 Evo 256 GB
- HDD
- WD Caviar Green 2 TB (WD20EARX)
- Optisches Laufwerk
- Samsung SH-S183L
- Soundkarte
- Creative X-Fi EM mit YouP-PAX-Treibern, Headset: Sennheiser PC350
- Gehäuse
- Coolermaster Stacker, 120mm-Lüfter ersetzt durch Scythe S-Flex, zusätzliche Staubfilter
- Netzteil
- BeQuiet 500W PCGH-Edition
- Betriebssystem
- Windows 7 x64
- Webbrowser
- Firefox
- Verschiedenes
- Tastatur: Zowie Celeritas Caseking-Mod (weiße Tasten)
Naja, dann füllst Du aber nur die Variable mit dem Rückgabewert der Funktion, und die Funktion wird ausgeführt, wenn Du die untere Zeile schreibst, was ja dann auf Seite 1 wäre (erstellt die Funktion also HTML-Code, erscheint der auf Seite 1). Er wollte aber variablen Code auf Seite 2 übertragen und dort erst ausführen.oder du könntest natürlich auch das script in ne function packen und das dann in nder Variable ausführen wenn du verstehst was ich mein.
also
function xyz()
{
-- Ich bin das script
}
und dann
$variable = xyz();
Mit eval() ginge das, wenn man den Code als dummen Text (String) in die Variable schreibt, denn eval(String s) erwartet einen Text und versucht den dann auszuwerten (zu evaluieren eben^^), nimmt man gerne für Rechenaufgaben, z.B.
$aufgabe="2+2"; // Variable wird mit einem Text gefüllt
$ergebnis=eval($aufgabe); // eval() erkennt, daß es sich dabei um Zahlen und Rechenzeichen handelt
print $aufgabe." ist gleich ".$ergebnis;
dann steht da 2+2 ist gleich 4.
Aber hier geht es ja erstens um größere Mengen Code und zweitens ist der ja nicht so unbekannt, sondern es soll nur unter mehreren Stückchen ausgewählt werden. Da sind die Includes schon optimal. Viele Wege führen eben nach Rom, manche schneller
Ähnliche Themen
- Antworten
- 0
- Aufrufe
- 52K
- Antworten
- 0
- Aufrufe
- 514
- Antworten
- 7
- Aufrufe
- 974