variable von php in javascript übergeben

batida444

Grünschnabel
hallo zusammen

ich habe folgendes problem:
ich habe ein forum mit mehreren styles.
nun habe ich ein werbeprogramm, über welches mir angebote bei ebay passend zu meiner webseite eingeblendet werden.
d.h. beim aufruf meiner webseite wird der quelltext analysiert und nach dem quelltext dann die passenden artikel bei ebay ausgelesen.

so weit, so gut.. dies nur als hintergrund.

ich möchte nun diese ebay-anzeige farblich jedem style anpassen. eine generelle farbanpassung der anzeige ist über direkte farbcodes möglich. demzufolge müsste ich ja den farbcode des jeweiligen styles auch in den link einfügen können.

dies ist der link:
<script type="text/javascript">
document.write('<scr'+'ipt src="http://www.link-des-werbeanbieters.de/view.asp?site=1382&ref=xxxxxx&type=text&tnb=32&showJS=1&template=1323&textcolor=FF0000&titlecolor=ffffff&bordercolor=CCCCCC&bgcolor=000000&refurl='+escape(document.location.href)+'"></scr'+'ipt>');
</script>

so, nun müsste ich die farbcodes bei textcolor, titlecolor, bordercolor, bgcolor durch variablen ersetzen, die vorher in einer php-datei ausgelesen werden (z.b. ist die hintergrundfarbe in $colorback definiert)

aber wie ?

ich habe schon einiges versucht, aber nichts klappt :(

z.b. habe ich folgendes versucht:
<script type="text/javascript">
var colorback;
colorback = "<?php echo $colorback; ?>";
document.write('<scr'+'ipt src="http://www.link-des-werbeanbieters.de/view.asp?site=1382&ref=xxxxxx&type=text&tnb=32&showJS=1&template=1323&textcolor=FF0000&titlecolor=ffffff&bordercolor=CCCCCC&bgcolor='+colorback+'&refurl='+escape(document.location.href)+'"></scr'+'ipt>');
</script>

es muss doch möglich sein, oder ?

greetz
batida444
 
Es ist kinderleicht eine Variable von PHP nach JavaScript zu uebergeben.
Und die Suchfunktion haette Dir dazu wahrscheinlich 2000 Threads liefern koennen.

Und bevor ich jetzt mit dem Brueckenpfeiler winke moechte ich Dich noch darauf hinweisen, dass hier die korrekte, oder zumindest offensichtlich beabsichtigte, Nutzung von Gross- und Kleinschreibung hier gewuenscht ist.

Also, nun zur Loesung des Problems:
PHP wird serverseitig ausgefuehrt, JavaScript clientseitig.
PHP gibt die auszugebende HTML-Seite aus welche dann vom Browser interpretiert wird.
Diese Ausgabe kann natuerlich auch JavaScript enthalten, welches dann im Browser ausgefuehrt wird.

Beispiel:
PHP:
<?php
$text="Mein Text";
echo '<script type="text/javascript">';
echo 'text='.$text;
echo 'document.write(text);';
echo '</script>';
?>
oder
PHP:
<?php
$text="Mein Text";
echo '<script type="text/javascript">';
echo 'document.write('.$text.');';
echo '</script>';
?>
 
Hy

Erstmal danke für Deinen Tipp.

Zu der Suchfunktion:
Ich google mich seit 4 Stunden durchs Netz, und auch hier hab ich schon etliche Threads durchgelesen und einiges probiert. Aber bis jetzt klappts noch nicht.

Zu der Groß- und Kleinschreibung:
Sorry, das hab ich mir so mit der Zeit angewöhnt.. geht einfach schneller *grins*

Zu Deinem Tipp:
Mein Code sieht nun so aus:
<script type="text/javascript">
document.write('<scr'+'ipt src="http://www.link-des-werbeanbieters.de/view.asp?site=1382&ref=xxxxxx&type=text&tnb=32&showJS=1&template=1323&textcolor=FF0000&titlecolor=ffffff&bordercolor=CCCCCC&bgcolor='.$colorback.'&refurl='+escape(document.location.href)+'"></scr'+'ipt>');
</script>

In meiner php-Datei ist $colorback ja wie folgt definiert:
$colorback = "ff0000";

Aber es klappt leider nicht :(

Greetz
batida444
 
Naja, dass man wenn man nur klein schreibt schneller schreibt als mit korrekter Gross- und Kleinschreibung ist wohl eher ein Geruecht. Wenn man die Tastatur kennt macht das keinen Unterschied.
Und es geht hier ja auch nicht um Geschwindigkeit.

Naja, ist ja auch egal. Halte Dich aber bitte im eigenen Interesse daran. Durchgehende Kleinschreibung wird hier einfach nicht gern gesehen. Hast's ja bei Deinem 2. Post nun auch hingekriegt. Also: Weiter so! ;)

Nun wieder zum Problem:
Wird der JS-Code den Du gepostet hast mittels echo oder sowas ausgegeben oder steht der in der Form da?

Wenn der in dieser Form da steht musst Du noch etwas abaendern.
Ich bediene mich zur Veranschaulichung nochmal meines Beispiels:
PHP:
<?php
$text="Mein Text";
?>
<script type="text/javascript">
document.write(<?php echo $text; ?>);
</script>
Du kannst das dann auch so nutzen:\
PHP:
<?php
$text="Mein Text";
?>
<script type="text/javascript">
document.write("Dies ist mein Text:<?php echo $text; ?>");
</script>

Sollte eigentlich kein Problem sein das so zu nutzen.
 
Also der Code steht so im Quelltext, er wird nicht mittels echo ausgegeben.

Auch der zweite Tipp von Dir klappt leider nicht.
Mein Code sieht nun so aus:
<script type="text/javascript">
document.write('<scr'+'ipt src="http://www.link-des-werbeanbieters.de/view.asp?site=1382&ref=xxxxxx&type=text&tnb=32&showJS=1&template=1323&textcolor=FF0000&titlecolor=ffffff&bordercolor=CCCCCC&bgcolor=<?php echo $colorback; ?>&refurl='+escape(document.location.href)+'"></scr'+'ipt>');
</script>

Ich verzweifel hier echt noch :(

Vielleicht sollte ich noch erwähnen, dass der Code in einem html-Template drinsteht, welches über die php-Datei aufgerufen wird.

Greetz
batida444
 
Ach so. Das steht in einem Template.
Dann wird der Code darin auch garnicht ausgefuehrt.
Du musst dann am besten hingehen und einen Platzhalter einfuegen und diesen dann ersetzen.

Beispiel:
PHP:
$tempfile=fopen("meintemplate.html","r");
$template=fread($tempfile,filesize("meintemplate.html"));
$text="Dies ist mein Text";
$template=str_replace("{text}",$text,$template);
echo $template;

Hierbei wird im Template der Platzhalter {text} durch den Inhalt der Variable $text ersetzt.
 
Zurück