Imbedding PHP Into Javascript

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
ferox
Forum Newbie
Posts: 3
Joined: Wed Dec 03, 2008 6:53 am

Imbedding PHP Into Javascript

Post by ferox »

Hello,

I am aware that PHP is sever side and javascript is client side so therefore the php is processed before the javascript even sees it so is there away to get around it

my natural instinct would be to do this

Code: Select all

var marqueecontent='<nobr><span class="newsflash"><?php echo $text; ?></span></nobr>'
But this displays nothing :banghead: is there a way around this problem :?:

Thanks
User avatar
onion2k
Jedi Mod
Posts: 5263
Joined: Tue Dec 21, 2004 5:03 pm
Location: usrlab.com

Re: Imbedding PHP Into Javascript

Post by onion2k »

If $text contains anything that should work fine. Try viewing the source in the browser to see what's going on.
ferox
Forum Newbie
Posts: 3
Joined: Wed Dec 03, 2008 6:53 am

Re: Imbedding PHP Into Javascript

Post by ferox »

$text defianatly contains something ive put it else where on the page and it echos fine...

ive also put plain text where $text was and that works fine also?
User avatar
papa
Forum Regular
Posts: 958
Joined: Wed Aug 27, 2008 3:36 am
Location: Sweden/Sthlm

Re: Imbedding PHP Into Javascript

Post by papa »

Show us your js code?
ferox
Forum Newbie
Posts: 3
Joined: Wed Dec 03, 2008 6:53 am

Re: Imbedding PHP Into Javascript

Post by ferox »

js code for ya its just a free download thing though

Code: Select all

 <script language="JavaScript1.2">
 
/*
Cross browser Marquee script- © Dynamic Drive (http://www.dynamicdrive.com)
For full source code, 100's more DHTML scripts, and Terms Of Use, visit http://www.dynamicdrive.com
Credit MUST stay intact
*/
 
//Specify the marquee's width (in pixels)
var marqueewidth="600px"
//Specify the marquee's height
var marqueeheight="22px"
//Specify the marquee's marquee speed (larger is faster 1-10)
var marqueespeed=1
//configure background color:
var marqueebgcolor="#000000"
//Pause marquee onMousever (0=no. 1=yes)?
var pauseit=1
 
//Specify the marquee's content (don't delete <nobr> tag)
//Keep all content on ONE line, and backslash any single quotations (ie: that\'s great):
 
var marqueecontent='<nobr><span class="newsflash"><?php echo $text; ?></span></nobr>'
 
 
////NO NEED TO EDIT BELOW THIS LINE////////////
marqueespeed=(document.all)? marqueespeed : Math.max(1, marqueespeed-1) //slow speed down by 1 for NS
var copyspeed=marqueespeed
var pausespeed=(pauseit==0)? copyspeed: 0
var iedom=document.all||document.getElementById
if (iedom)
document.write('<span id="temp" style="visibility:hidden;position:absolute;top:-100px;left:-9000px">'+marqueecontent+'</span>')
var actualwidth=''
var cross_marquee, ns_marquee
 
function populate(){
if (iedom){
cross_marquee=document.getElementById? document.getElementById("iemarquee") : document.all.iemarquee
cross_marquee.style.left=parseInt(marqueewidth)+8+"px"
cross_marquee.innerHTML=marqueecontent
actualwidth=document.all? temp.offsetWidth : document.getElementById("temp").offsetWidth
}
else if (document.layers){
ns_marquee=document.ns_marquee.document.ns_marquee2
ns_marquee.left=parseInt(marqueewidth)+8
ns_marquee.document.write(marqueecontent)
ns_marquee.document.close()
actualwidth=ns_marquee.document.width
}
lefttime=setInterval("scrollmarquee()",20)
}
window.onload=populate
 
function scrollmarquee(){
if (iedom){
if (parseInt(cross_marquee.style.left)>(actualwidth*(-1)+8))
cross_marquee.style.left=parseInt(cross_marquee.style.left)-copyspeed+"px"
else
cross_marquee.style.left=parseInt(marqueewidth)+8+"px"
 
}
else if (document.layers){
if (ns_marquee.left>(actualwidth*(-1)+8))
ns_marquee.left-=copyspeed
else
ns_marquee.left=parseInt(marqueewidth)+8
}
}
 
if (iedom||document.layers){
with (document){
document.write('<table border="0" cellspacing="0" cellpadding="0"><td>')
if (iedom){
write('<div style="position:relative;width:'+marqueewidth+';height:'+marqueeheight+';overflow:hidden">')
write('<div style="position:absolute;width:'+marqueewidth+';height:'+marqueeheight+';background-color:'+marqueebgcolor+'" onMouseover="copyspeed=pausespeed" onMouseout="copyspeed=marqueespeed">')
write('<div id="iemarquee" style="position:absolute;left:0px;top:0px"></div>')
write('</div></div>')
}
else if (document.layers){
write('<ilayer width='+marqueewidth+' height='+marqueeheight+' name="ns_marquee" bgColor='+marqueebgcolor+'>')
write('<layer name="ns_marquee2" left=0 top=0 onMouseover="copyspeed=pausespeed" onMouseout="copyspeed=marqueespeed"></layer>')
write('</ilayer>')
}
document.write('</td></table>')
}
}
</script>          
User avatar
papa
Forum Regular
Posts: 958
Joined: Wed Aug 27, 2008 3:36 am
Location: Sweden/Sthlm

Re: Imbedding PHP Into Javascript

Post by papa »

I'm not in the mood to look through all the code, but: document.write('<span id="temp" style="visibility:hidden;position:absolute;top:-100px;left:-9000px">'+marqueecontent+'</span>')

This is where you echo your text and it's pretty hidden if I'm not entirely off.
SteveC
Forum Commoner
Posts: 44
Joined: Thu Dec 04, 2008 2:39 pm
Location: Lansing, MI

Re: Imbedding PHP Into Javascript

Post by SteveC »

ferox wrote:Hello,

I am aware that PHP is sever side and javascript is client side so therefore the php is processed before the javascript even sees it so is there away to get around it

my natural instinct would be to do this

Code: Select all

var marqueecontent='<nobr><span class="newsflash"><?php echo $text; ?></span></nobr>'
But this displays nothing :banghead: is there a way around this problem :?:

Thanks
Hi ferox,

Questions.

1. Does it work if you actually write text manually into the marqueecontent? IE.

Code: Select all

var marqueecontent='<nobr><span class="newsflash">just some test text</span></nobr>'
2. If so, does this work?

Code: Select all

var marqueecontent='<nobr><span class="newsflash"><?php echo 'just some test text'; ?></span></nobr>'
3. If it does, what's going on? Either $test is blank, or it has some characters that are breaking the JS. For example - you may need to escape the text?

Code: Select all

var marqueecontent='<nobr><span class="newsflash"><?php echo escape($text); ?></span></nobr>'


I may have used the wrong function there, if anybody cares to correct me that'd be great. :)

Steve.
Post Reply