[PHP/JS] HTML-erzeugendes PHP-Script in HTML-Datei abrufen

T-Flow

Scheidenpilz!
ID: 16924
L
24 August 2006
10.107
434
Hallo ihr lieben Progger :eek:)

Bin mal wieder am Überlegen, wie ich am einfachsten ein PHP-Script in einer HTML-Datei abrufen kann... Soviel ich weiß geht das per JavaScript, aber damit kenn' ich mich mal gar nicht aus *g*

Also ich hätte gerne, dass ich in 'ner HTML-Datei einfach da, wo der zu erzeugende HTML-Code erscheinen soll, das Script einfügen muss... das wärs schon :eek:)

Freu mich über jegliche Hilfe *über-jegliche-Hilfe-freu*
:biggrin:

Grüßle, Tobi
 
Du bennenst deine HTML Datei in .php um, und fügst an der Stelle, wo dein PHP Code ausgeführt werden soll, einfach
PHP:
<?php
include('pfad/zum/skript.php');
?>

ein. Fertig.

Abartige alternativen:
 
Zuletzt bearbeitet:
Der PHP-Befehl nützt mir hier nix... ist ein HTML-Tempelate und da kann ich kein PHP ausführen. Und Frames will ich keine nutzen...

Dachte Ajax sei was zum Geschirrspülen... :ugly:
 
Also wenn es ein HTML Template ist, wird das nicht einfach so per include gehen.
Um was für ein Templatesystem handelt es sich den?
 
Theoretisch kannst du deine PHP-Datei einen Code in dieser Art ausgeben lassen:

PHP:
document.write('<p>');
document.write('bla');
document.write('</p>');


und dann in deine HTML-Datei sowas einbauen:

HTML:
<script src="pfad-zur-datei.php" type="text/javascript"></script>


Und mit AJAX hat das mal wirklich üüüüberhaupt nichts zu tun. :roll:
 
Hmmm... also im Quelltext von Klamm-Party.de hab ich mal geguckt, die machen das auch mit JavaScript. Mir sagen zwar die ganzen Befehle nix, aber da funktioniert das auch... mein Script soll halt beim Öffnen der HTML-Datei mein Script aktivieren, was aus meiner MySQL auslesen und das Ganze schön formatiert in der HTML-Datei ausgeben...
 
Garkeine... aber ich bin grade im Betrieb und kanns erst zuhause ausprobieren :eek:))

Trotzdem danke!
 
Und mit AJAX hat das mal wirklich üüüüberhaupt nichts zu tun. :roll:


Das, was du geschrieben hast nicht. Aber sobald du Daten auswerten lassen willst

mein Script soll halt beim Öffnen der HTML-Datei mein Script aktivieren, was aus meiner MySQL auslesen und das Ganze schön formatiert in der HTML-Datei ausgeben...

Kann man es ja wohl durchaus als Ajax bezeichnen?
 
AJAX kannst Du es ab dem Zeitpunkt nennen, wo dynamisch Inhalte nachgeladen werden.

Wobei man da inzwischen auch unterscheiden sollte. AJAX ist inzwischen genauso wie Web 2.0 zu so 'nem blöden beflügelten Wort geworden. In den meisten Fällen, wo AJAX genannt wird, hat das Ganze quasi nix mit AJAX zu tun, sondern eher mit AHAH.

AJAX steht ja bekanntlich für Asynchronous JavaScript And XML und das wird so oft einfach nicht genutzt. JavaScript schon - zum Abrufen des neuen Contents, aber dieser ist dann schon vorbereitet und wird ratzfatz in die DOM-Struktur der Webseite eingefügt. XML wird dabei gar nicht berücksichtigt.

Aber das mal nur so am Rande... ;)
 
Oki, zugegeben hast du in dem Fall bezüglich AJAX sogar recht, aber wenn du die Ausführung eines Javascripts nutzt, egal ob bereits bei Seitenaufbau oder 30 Sekunden später, die Daten werden trotzdem gesondert geladen.

Und meinetwegen nenn es, wie du willst ;). Letztlich läuft es wohl darauf hinaus, dass die Daten über Javascript angefordert werden müssen.
Ob es Ajax, Ahah, oder sonstwas ist ist doch letztlich relativ Käse.
 
PHP:
document.write('<p>');
document.write('bla');
document.write('</p>');

und dann in deine HTML-Datei sowas einbauen:

HTML:
<script src="pfad-zur-datei.php" type="text/javascript"></script>

Und das geht nur, wenn ich auf ein PHP-Script anweise und dort JavaScript Code erzeuge? Geht das nicht einfacher?
 
Und das geht nur, wenn ich auf ein PHP-Script anweise und dort JavaScript Code erzeuge? Geht das nicht einfacher?

Du kannst auf ein fertiges Javascript verweisen, dass wiederrum eine PHP Datei aufruft. Dann bleibt schonmal das Javascript dauerhaft, muss halt aber die Ausgabe der PHP-Datei in dein HTML einfügen.
 
Und meinetwegen nenn es, wie du willst ;). Letztlich läuft es wohl darauf hinaus, dass die Daten über Javascript angefordert werden müssen.
Ob es Ajax, Ahah, oder sonstwas ist ist doch letztlich relativ Käse.
Ich versteh Deinen Punkt, merke aber auch grade, dass ich einen wichtigen Punkt bei meinem Post vergessen habe:

Ein elementarer Bestandteil sowohl von AJAX als auch AHAH ist der XMLHttpRequest. Insofern ist ein einfaches Aufrufen eines Scriptes, das JavaScript zur Ausgabe zurückliefert, nunmal nicht in diesem Umfeld anzusiedeln.

Wobei es bei extern eingeladenen Ausgaben via document.write() auch zu Problemen kommen kann, wenn ich mich recht entsinne. Glaube, man kriegt da genug Infos, wenn man Google bemüht.
 
Dann bräuchte ich jetzt nur noch passenden Code, da ich mich mit JS wie gesagt fast nicht auskenne... nur wenig Grundwissen vorhanden. Bei PHP siehts da zum Glück etwas anders aus...
 
Alles was du in Javascript dazu brauchst, ist document.write();. Den Inhalt füllst du einfach mit PHP. Also so ungefähr:

PHP:
<?php

echo("document.write(".$line1.");\n");
echo("document.write(".$line2.");\n");
echo("document.write(".$line3.");\n");
echo("document.write(".$line4.");\n");

?>
 
Ich versteh Deinen Punkt, merke aber auch grade, dass ich einen wichtigen Punkt bei meinem Post vergessen habe:

Ein elementarer Bestandteil sowohl von AJAX als auch AHAH ist der XMLHttpRequest. Insofern ist ein einfaches Aufrufen eines Scriptes, das JavaScript zur Ausgabe zurückliefert, nunmal nicht in diesem Umfeld anzusiedeln.

Jupp, soweit war ich dann doch. Aber - ich kenn mich mit Javascript leider auch nicht so gut aus - mit was für einem anderen Javascript-Aufruf willst du Daten vom Server laden?


Bezüglich des Problems:
Ganz fertigen Code kann ich dir leider nicht liefern, aber lies mal hier oder such einfach bei Google, der Ansatz über Ajax, abgewandelt zu Ahah ist meiner Meinung nach der am einfachsten Umsetzbare.

Wobei es bei extern eingeladenen Ausgaben via document.write() auch zu Problemen kommen kann, wenn ich mich recht entsinne. Glaube, man kriegt da genug Infos, wenn man Google bemüht.

Japp, ich hatte da mal ziemliche Probelem. Am einafchsten lässt sich das meiner Erfahrung nach umgehen, in dem man im Template bereits ein Div-Tag festlegt, mit einer zugewiesenen id, dem man dann über
Code:
var element = docmuent.GetElementByID('id_des_div_tags');
element.innerHTML = '<p>HTML ausgabe</p>';
einfach den Inhalt ändert.

Alles was du in Javascript dazu brauchst, ist document.write();. Den Inhalt füllst du einfach mit PHP. Also so ungefähr:

PHP:
<?php

echo("document.write(".$line1.");\n");
echo("document.write(".$line2.");\n");
echo("document.write(".$line3.");\n");
echo("document.write(".$line4.");\n");

?>

Klappt aber nur, wenn er zusätzliche Variablen in seinen Templates festlegen kann und diese auch füllen kann, was ich mal bezweifel, weil dann könnte man den Inhalt ja schließlich direkt vom Template-System im Template parsen lassen
 
Zuletzt bearbeitet:
Klappt aber nur, wenn er zusätzliche Variablen in seinen Templates festlegen kann und diese auch füllen kann, was ich mal bezweifel, weil dann könnte man den Inhalt ja schließlich direkt vom Template-System im Template parsen lassen
Du scheinst meinen Lösungsansatz nicht ganz kapiert zu haben. Er muss nur folgenden Teil fest in sein Template einbauen. Sonst wird am Template nichts verändert.

HTML:
<script src="pfad-zur-datei.php" type="text/javascript"></script>
 
Jupp, soweit war ich dann doch. Aber - ich kenn mich mit Javascript leider auch nicht so gut aus - mit was für einem anderen Javascript-Aufruf willst du Daten vom Server laden?
Bin da grad nicht mehr so fit drin, da ich quasi nur noch die AJAX-Funktionen von Prototype verwende, deshalb guck mal im Folgenden Link unter "Solution":

:arrow: https://ajaxpatterns.org/XMLHttpRequest_Call#In_A_Blink

@wahnsinn:

Guck mal hier:

https://www.w3.org/MarkUp/2004/xhtml-faq#docwrite
 
Du scheinst meinen Lösungsansatz nicht ganz kapiert zu haben. Er muss nur folgenden Teil fest in sein Template einbauen. Sonst wird am Template nichts verändert.

HTML:
<script src="pfad-zur-datei.php" type="text/javascript"></script>

Gut, daran hatte ich nicht mehr gedacht. Aber - ich bin zu faul es zu testen - akzeptiert jeder Browser eine php Datei als Javascript? Ich hab was ähnliches mal mit einem CSS-Stylesheet versucht, und mein damaliger Firefox hat sich geweigert die Styles anzuwenden, so lange das ding nicht die Endung .css hatte.

@tleilax:
Sieht interessant aus. Aber im Prinzip ließen sich ja auch die in T-Flows Skript einbauen lassen *denk*