php-variable verwenden ..
chris
- javascript
0 Elessar0 David Tibbe
hallo forum,
ist es möglich, in javascript eine php-variable zu verwenden?
hintergrund:
ich habe eine config.php, in der allgemeine pfadangaben in variablen gespeichert werden .. nun möchte ich meinem externen javascript beibringen, eine solche variable (pfadangabe) aus der config.php zu nutzen ..
ist das möglich und wenn ja, wie?
danke im voraus
gruß
chris
Hi!
Ist doch gar kein Problem. Da PHP ja serverseitig arbeitet kannst du ja die Pfadangaben aus deiner Konfigurationsdatei einfach einfügen.
Z.B.:
<?php
var $pfad = "../config/";
echo <<<END
<script language="JavaScript">
var test = $pfad;
</script>
END;
?>
Die Ausgabe an den Browser wäre dann:
<script language="JavaScript">
var test = "../config/";
</script>
Mfg
Elessar
Hi!
Ist doch gar kein Problem.
hi Elessar,
sicher ist das in der von dir beschriebenen form kein problem .. bei der von mir gestellten frage geht es um ein _externes_ script (xyz.js), was aus php heraus aufgerufen wird ..
möglicherweise habe ich auch ein brett vorm kopf und merke jetzt nicht, das diese version auch damit funktioniert .. ;)
ich erkläre es mal anders:
innerhalb des xyz.js habe ich eine funktion, die unter anderem diesen satz beinhaltet:
var enterURL = prompt (text_enter_image, "http://www.xyz.de/webdesign/Bilder/versch/");
ich möchte nun die url nicht im klartext eingeben, sondern aus der config.php auslesen:
var enterURL = prompt(text_enter_image, $pfad_zum_verzeichnis);
ich hoffe, es ist jetzt ein bisschen deutlicher geworden, was ich benötige ..
danke für deine antwort
gruß
chris
So, ich versuch einfach mal mein Beispiel von eben noch an deins anzupassen. Ist aber vom Prinzip her das Gleiche. Ich hoff mal, es funktioniert und bringt dich weiter.
index.php (oder wie auch immer):
<?php
require("config.php");
echo "<script langauge="Javascript">";
include("xyz.js");
echo "</script>";
?>
xyz.js:
var enterURL = prompt(text_enter_image, $pfad_zum_verzeichnis);
config.php:
<?php
var $pfad_zum_verzeichnis = "http://www.xyz.de/webdesign/Bilder/versch/";
?>
Mfg
Elessar
So, ich versuch einfach mal mein Beispiel von eben noch an deins anzupassen. Ist aber vom Prinzip her das Gleiche. Ich hoff mal, es funktioniert und bringt dich weiter.
<cut>
nein, hat mich leider nicht weitergebracht .. bekomme js-error, das die variable $pfad_zum_verzeichnis undefiniert ist ..
ich habe das jetzt anders gelöst, indem ich die variable am anfang des js einbinde .. damit funktioniert es .. leider muss ich nun darauf achten, das ich bei änderungen dieses js mit berücksichtige ..
trotzdem vielen herzlichen dank für deine hilfe und mühe!
gruß
chris
Hallo
Nein, das kann auch nicht funktionieren. xyz.js wird includet, aber nicht ausgeführt weil kein php. Zudem fehlt immernoch die type-Angabe. Was aber funktioniert ist:
<?php
require("config.php");
echo "<script langauge="Javascript" type="text/javascript">";
-----------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^
echo "var enterURL = prompt(text_enter_image, $pfad_zum_verzeichnis);";
echo "</script>";
?>
Grüße
David
Tach
Es müsste gehen:
0. Include beide Dateien mit dem entsp. Befehl. (inc.php und inc.js)
1. Hole die Links aus der inc.PHP in deine Datei und weise die einzelnen "Link" variabeln Javascriptvariablen zu.
Ungefähr so:
<script langauge="Javascript" type="text/javascript">
var meinLink = <?php $meinLink ?>;
</script>
Jetzt ist die Variable aus der inc.php in deiner Datei als Javascirpt Variable gespeichert und auch über das inc.js anzusprechen.
Gruss
STefan
hi,
Da PHP ja serverseitig arbeitet kannst du ja die Pfadangaben aus deiner Konfigurationsdatei einfach einfügen.
<?php
var $pfad = "../config/";
echo <<<END
var test = $pfad;
[...]
Die Ausgabe an den Browser wäre dann:
var test = "../config/";
wo kommen die anführungszeichen her?
gruss,
wahsaga
Hallo
Du kannst das extrene JS wie gewohnt einbinden. Und dann ziehlt der Pfad eben nicht auf eine *.js sondern auf eine *.php. Jene php-Datei muss dann halt nur den benötigten Code ausgeben. Wie das in entwa geht schrieb Elessar ja schon.
Bedenke nur, dass er in seinem Scipt die type-Angabe im srcipt-tag vergessen hat.
Grüße
David