Avatar billede d.kryger Praktikant
24. august 2006 - 14:59 Der er 9 kommentarer og
1 løsning

PHP variabel ned i js-fil

Hej Eksperter...

Jeg skulle gerne have en variabel fra min php-fil med over i en .js-fil, men jeg aner ikke hvordan jeg gør. Kan nogen hjælpe?

Jeg har prøvet at lave php-kode i js-filen men den går ikke...

Min php-fil ser sådan ud:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>
<title>Title</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta http-equiv="imagetoolbar" content="no">
</head>

<body bgcolor="#414B56" style="overflow-x:hidden;overflow-y:hidden;">

<?php

    $sagsnummer = $_GET["sagsnummer"];

?>

<script src="flashfil.js"></script>

</body>

</html>

Min flashfil.js ser sådan ud:
document.write('<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" ID="flashfil" WIDTH="100%" HEIGHT="100%" ALIGN="">');
document.write('<PARAM NAME=FlashVars VALUE="sagsnummer=demo">')
document.write('<PARAM NAME=movie VALUE="flashfil.swf">')
document.write('<PARAM NAME=quality VALUE=high>')
document.write('<PARAM NAME=bgcolor VALUE=#414B56>')
document.write('<EMBED src="flashfil.swf" FlashVars="sagsnummer=demo" quality=high bgcolor=#414B56 swLiveConnect=FALSE WIDTH="100%" HEIGHT="100%" NAME="flashfil" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED>');
document.write('</OBJECT>');

Det er de to steder hvor der står "demo" at min varibale skal stå. Kan nogen hjælpe?

P.S. Grunden til at det hele står i en js-fil er at så undgår jeg bedkeden "Klik for at bruge dette objekt" i IE...
Avatar billede mclemens Nybegynder
24. august 2006 - 19:12 #1
Avatar billede mclemens Nybegynder
24. august 2006 - 19:18 #2
eksempel:



<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta

http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>




</head><body><div id="flashvar" style="display:none;"><?php echo $_GET["sagsnummer"]; ?></div>



<script type="text/javascript">
var test=document.getElementById("flashvar").firstChild.nodeValue;

/* eksempel på indsættelse: document.write('<PARAM NAME=FlashVars VALUE="sagsnummer='+test+'">') */


document.write('<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'

codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" ID="flashfil" WIDTH="100%"

HEIGHT="100%" ALIGN="">');
document.write('<PARAM NAME=FlashVars VALUE="sagsnummer=demo">')
document.write('<PARAM NAME=movie VALUE="flashfil.swf">')
document.write('<PARAM NAME=quality VALUE=high>')
document.write('<PARAM NAME=bgcolor VALUE=#414B56>')
document.write('<EMBED src="flashfil.swf" FlashVars="sagsnummer=demo" quality=high bgcolor=#414B56 swLiveConnect=FALSE

WIDTH="100%" HEIGHT="100%" NAME="flashfil" ALIGN="" TYPE="application/x-shockwave-flash"

PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED>');
document.write('</OBJECT>');
</script>





</script>
</body></html>
Avatar billede mclemens Nybegynder
24. august 2006 - 19:23 #3
ved at bruge: http://www.eksperten.dk/spm/724039#rid6373520
kan du også lave et kald til: _GET['sagsnummer'] direkte i javasscript ved at den bruger det js object til at parse documentet med ... eksempel:




<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<script type="text/javascript">
var _GET={}; /* global object til opbevaring af dokument variabler... */


  vars=window.location.href;

  if(vars.indexOf("?")!=-1)vars=vars.replace(/\+/g," ").replace(/.*?\?/,"").split("&");
  else vars=[];

  for(i=0;i<vars.length;i++){
    vars2=vars[i].split("=");
    _GET[unescape(vars2[0])]=unescape(vars2[1]);
    }
  tmpandenfunktion();






function tmpandenfunktion(){ // test om variabler er tilgængelige
  for(i in _GET){
    alert("_GET."+i+"=\""+_GET[i]+"\"");
  }




/* Det var udskrift af test variabler her er så et eksempel på et kald: */



if(_GET['sagsnummer'])alert(_GET['sagsnummer']); /* Hvis sagsnummer ikke findes får vi intet da den er pakket ind i en if */
}

</script>


</head><body>
<form method="get" action="test.html">
<input type="text" name="sagsnummer" value="værdi for get sagsnummer"><br>
<input type="submit" value="Afsend">
</form>
</body></html>
Avatar billede mclemens Nybegynder
24. august 2006 - 19:31 #4
[ Jeg har prøvet at lave php-kode i js-filen men den går ikke... ]
Det kan du også ... se f.eks.: http://www.eksperten.dk/spm/728182#rid6397210
Avatar billede d.kryger Praktikant
24. august 2006 - 23:29 #5
Nu er jeg ikke den store JavaScript-haj, så kan du komme med et eksempel på hvordan min php-fil skal se ud og hvordan min js fil skal se ud?

Jeg giver gerne flere point, hvis det er det der skal til... :)
Avatar billede mclemens Nybegynder
24. august 2006 - 23:50 #6
flashfil.php

<?php header('content-type: application/x-javascript;charset=iso-8859-1'); ?>
document.write('<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" ID="flashfil" WIDTH="100%" HEIGHT="100%" ALIGN="">');
document.write('<PARAM NAME=FlashVars VALUE="sagsnummer=<?php echo $_GET['sagsnr']; ?>">')
document.write('<PARAM NAME=movie VALUE="flashfil.swf">')
document.write('<PARAM NAME=quality VALUE=high>')
document.write('<PARAM NAME=bgcolor VALUE=#414B56>')
document.write('<EMBED src="flashfil.swf" FlashVars="sagsnummer=<?php echo $_GET['sagsnr']; ?>" quality=high bgcolor=#414B56 swLiveConnect=FALSE WIDTH="100%" HEIGHT="100%" NAME="flashfil" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED>');
document.write('</OBJECT>');




testfil.php:


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

</head><body>

<script type="text/javascript" src="flashfil.php?sagnr=<?php echo $_GET['sagsnr']; ?>"></script>

</body></html>




... nu har jeg ikke selv rodet med flash så jeg skal lige se om jeg kan få
det testet ... ovenstående er utestet - men det bør være noget i den stil ...
Avatar billede mclemens Nybegynder
25. august 2006 - 00:31 #7
Dem her virkede hos mig:


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

</head><body>

<script type="text/javascript" src="flashfil.php<?php if(isset($_GET['sagsnr']))echo "?sagsnr=".$_GET['sagsnr']; ?>"></script>

</body></html>





og:



<?php header('content-type: application/x-javascript;charset=iso-8859-1'); echo "var sagsnr=\"";if(isset($_GET['sagsnr']))echo $_GET['sagsnr'];else echo"0";echo"\";"; ?>document.write('<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" ID="flashfil" WIDTH="100%" HEIGHT="100%" ALIGN="">');
document.write('<PARAM NAME=FlashVars VALUE="sagsnummer='+sagsnr+'">');
document.write('<PARAM NAME=movie VALUE="flashfil.swf">');
document.write('<PARAM NAME=quality VALUE=high>');
document.write('<PARAM NAME=bgcolor VALUE=#414B56>');
document.write('<EMBED src="flashfil.swf" FlashVars="sagsnummer='+sagsnr+'" quality=high bgcolor=#414B56 swLiveConnect=FALSE WIDTH="100%" HEIGHT="100%" NAME="flashfil" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED>');
document.write('</OBJECT>');
Avatar billede d.kryger Praktikant
25. august 2006 - 10:43 #8
Jep, så virker det... Mange tak for hjælpen.
Husk lige at lægge et svar, så jeg kan give dig point! :)
Avatar billede mclemens Nybegynder
25. august 2006 - 11:25 #9
Velbekom, her er lige et svar :o)
Avatar billede mclemens Nybegynder
25. august 2006 - 12:12 #10
Og tak for point :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester