Computerhilfen.de Logo
Forum
Tipps
News

kann ich mit php eine variable an javascript übergeben?

hallo...

habe einen newsticker mit javascript realisiert... nun stellt sich folgendes problem: der tickertext soll mittels php aus einer datenbank kommen. soweit sogut. das problem: wie kann ich aus php die variable, die den tickertext enthält, nennen wir sie einmal "$text" an das javascript übergeben?

die ganze seite mittels php und "echo" zu generieren klappt jedenfalls nicht...

 ???


Antworten zu kann ich mit php eine variable an javascript übergeben?:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hi |

Du musst den JavaScript-Teil genauso dynamisch generieren.

Also nehmen wir mal an, deine PHP-Variable heißt $text, und im JS-Teil heißt die zugehörige Variable text, die du mit var deklarierst.

Das sieht dann folgendermaßen aus:

<script>
var text = '<?php echo $text ?>';
</script>

greez 8)
JoSsiF

vielen dank für den tipp...

leider funktioniert es dennoch nicht. die javascript-deklaration sieht nun folgendermaßen aus:

var v_content=[
['','<?php echo $text1 ?>','_blank'],
['','+++ Ticker-Text 2 +++','_blank'],
['','+++ Ticker-Text 3 +++','_blank']
];

die texte "+++Ticker-Text 2+++" und "+++Ticker-Text 3+++" werden auch richtig im ticker angezeigt. nur der inhalt von $text1 eben nicht.
diesen habe ich übrigens vor dem <script>-container folgendermaßen deklariert:

<?php
$text1="+++ ticker me +++";
?>

wo liegt da nur der hund begraben???  ::)

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Poste doch mal bitte das ganze Skript.

danke schon mal vorab :-)

hier das script - die javascript-routine stammt aus dem netz und (sieht für mich jedenfalls ziemlich chaotisch aus  ():-) - aber funktioniert - solange man den text statisch in der html-seite definiert... der text scrollt alle 3 sekunden.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
   <title>Untitled</title>
   

</head>

<body bgcolor="#666660" marginwidth="0" marginheight="1" topmargin="1" leftmargin="0">
<div align="center">

<?php
$text1 = "+++ Ticker-Text 1 +++";
?>
<script type="text/javascript" language="JavaScript">


v_font='arial,sans-serif';
v_fontSize='14px';
v_fontSizeNS4='14px';
v_fontWeight='normal';
v_fontColor='#ffffff';
v_textDecoration='none';
v_fontColorHover='#ffffff';   
v_textDecorationHover='none';
v_bgColor='#666660';

v_top=0;
v_left=5;
v_width=945;
v_height=35;
v_paddingTop=0;
v_paddingLeft=20;
v_position='absolute';
v_timeout=7000;
v_slideSpeed=25;
v_slideDirection=0;
v_pauseOnMouseOver=true;

v_slideStep=4;
v_textAlign='center';
v_textVAlign='middle';

v_content=[
['','<?php echo $text1 ?>','_blank'],
['','+++ Ticker-Text 2 +++ Ticker-Text 2 +++ Ticker-Text 2 +++ Ticker-Text 2 +++ Ticker-Text 2 +++ Ticker-Text 2 +++ Ticker-Text 2 +++ Ticker-Text','_blank'],
['','+++ Ticker-Text 3 +++ Ticker-Text 3 +++ Ticker-Text 3 +++ Ticker-Text 3 +++ Ticker-Text 3 +++ Ticker-Text 3 +++ Ticker-Text 3 +++ Ticker-Text','_blank']

];



v_ua=navigator.userAgent;v_nS4=document.layers?1:0;v_iE=document.all&&!window.innerWidth&&v_ua.indexOf("MSIE")!=-1?1:0;v_oP=v_ua.indexOf("Opera")!=-1&&document.clear?1:0;v_oP7=v_oP&&document.appendChild?1:0;v_oP4=v_ua.indexOf("Opera")!=-1&&!document.clear;v_kN=v_ua.indexOf("Konqueror")!=-1&&parseFloat(v_ua.substring(v_ua.indexOf("Konqueror/")+10))<3.1?1:0;v_count=v_content.length;v_cur=1;v_cl=0;v_d=v_slideDirection?-1:1;v_TIM=0;v_fontSize2=v_nS4&&navigator.platform.toLowerCase().indexOf("win")!=-1?v_fontSizeNS4:v_fontSize;v_canPause=0;function v_getOS(a){return v_iE?document.all[a].style:v_nS4?document.layers["v_container"].document.layers[a]:document.getElementById(a).style};function v_start(){var o,px;o=v_getOS("v_1");px=v_oP&&!v_oP7||v_nS4?0:"px";if(parseInt(o.top)==v_paddingTop){v_canPause=1;if(v_count>1)v_TIM=setTimeout("v_canPause=0;v_slide()",v_timeout);return}o.top=(parseInt(o.top)-v_slideStep*v_d)*v_d>v_paddingTop*v_d?parseInt(o.top)-v_slideStep*v_d+px:v_paddingTop+px;if(v_oP&&o.visibility.toLowerCase()!="visible")o.visibility="visible";setTimeout("v_start()",v_slideSpeed)};function v_slide(){var o,o2,px;o=v_getOS("v_"+v_cur);o2=v_getOS("v_"+(v_cur<v_count?v_cur+1:1));px=v_oP&&!v_oP7||v_nS4?0:"px";if(parseInt(o2.top)==v_paddingTop){if(v_oP)o.visibility="hidden";o.top=v_height*v_d+px;v_cur=v_cur<v_count?v_cur+1:1;v_canPause=1;v_TIM=setTimeout("v_canPause=0;v_slide()",v_timeout);return}if(v_oP&&o2.visibility.toLowerCase()!="visible")o2.visibility="visible";if((parseInt(o2.top)-v_slideStep*v_d)*v_d>v_paddingTop*v_d){o.top=parseInt(o.top)-v_slideStep*v_d+px;o2.top=parseInt(o2.top)-v_slideStep*v_d+px}else{o.top=-v_height*v_d+px;o2.top=v_paddingTop+px}setTimeout("v_slide()",v_slideSpeed)};if(v_nS4||v_iE||v_oP||document.getElementById&&!v_kN&&!v_oP4){
document.write("<style>.vnewsticker,a.vnewsticker{font-family:"+v_font+";font-size:"+v_fontSize2+";color:"+v_fontColor+";text-decoration:"+v_textDecoration+";font-weight:"+v_fontWeight+"}a.vnewsticker:hover{font-family:"+v_font+";font-size:"+v_fontSize2+";color:"+v_fontColorHover+";text-decoration:"+v_textDecorationHover+"}</style>");v_temp="<div "+(v_nS4?"name":"id")+"=v_container style='position:"+v_position+";top:"+v_top+"px;left:"+v_left+"px;width:"+v_width+"px;height:"+v_height+"px;background:"+v_bgColor+";layer-background"+(v_bgColor.indexOf("url(")==0?"-image":"-color")+":"+v_bgColor+";clip:rect(0,"+v_width+","+v_height+",0);overflow:hidden'>"+(v_iE?"<div style='position:absolute;top:0px;left:0px;width:100%;height:100%;clip:rect(0,"+v_width+","+v_height+",0)'>":"");for(v_i=0;v_i<v_count;v_i++)
v_temp+="<div "+(v_nS4?"name":"id")+"=v_"+(v_i+1)+" style='position:absolute;top:"+(v_height*v_d)+"px;left:"+v_paddingLeft+"px;width:"+(v_width-v_paddingLeft*2)+"px;height:"+(v_height-v_paddingTop*2)+"px;clip:rect(0,"+(v_width-v_paddingLeft*2)+","+(v_height-v_paddingTop*2)+",0);overflow:hidden"+(v_oP?";visibility:hidden":"")+";text-align:"+v_textAlign+"' class=vnewsticker>"+(!v_nS4?"<table width="+(v_width-v_paddingLeft*2)+" height="+(v_height-v_paddingTop*2)+" cellpadding=0 cellspacing=0 border=0><tr><td width="+(v_width-v_paddingLeft*2)+" height="+(v_height-v_paddingTop*2)+" align="+v_textAlign+" valign="+v_textVAlign+" class=vnewsticker>":"")+(v_content[v_i][0]!=""?"<a href='"+v_content[v_i][0]+"' target='"+v_content[v_i][2]+"' class=vnewsticker"+(v_pauseOnMouseOver?" onmouseover='if(v_canPause&&v_count>1){clearTimeout(v_TIM);v_cl=1}' onmouseout='if(v_canPause&&v_count>1&&v_cl)v_TIM=setTimeout(\"v_canPause=0;v_slide();v_cl=0\","+v_timeout+")'":"")+">":"<span"+(v_pauseOnMouseOver?" onmouseover='if(v_canPause&&v_count>1){clearTimeout(v_TIM);v_cl=1}' onmouseout='if(v_canPause&&v_count>1&&v_cl)v_TIM=setTimeout(\"v_canPause=0;v_slide();v_cl=0\","+v_timeout+")'":"")+">")+v_content[v_i][1]+(v_content[v_i][0]!=""?"</a>":"</span>")+(!v_nS4?"</td></tr></table>":"")+"</div>";v_temp+=(v_iE?"</div>":"")+"</div>";document.write(v_temp);setTimeout("v_start()",1000);if(v_nS4)onresize=function(){location.reload()}}


</script>

</div>

</body>
</html>

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Funktioniert bei mir wunderbar.

Du testest das Skript aber schon auf einem Webserver (kann auch lokal sein), oder? Und das Dokument trägt auch die Endung .php ?

ja.

läuft auf einem lokalem webserver (xampp) und hat die endung .php

und du siehst auch den text "+++ Ticker-Text 1+++"???
diese zeile erscheint bei mir nämlich nicht - bleibt leer - werde dies seite aber mal auf einen server ins netz stellen und von dort mal testen

tatsache! im web läuft's!  :o

muss wohl irgendwas mit meinem lokalen webserver nicht stimmen - obwohl alle anderen php-seiten er korrekt darstellt...

dennoch VIELEN dank für deine bemühungen!!!!! :)

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Kein Problem, gern geschehen ;)

Ach so, lösch doch mal den Cache bei dir lokal, vielleicht hilft das was.

greez 8)
JoSsiF


« Laufschriften mit html programmierenProblem bei Passworeingabe »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!