Emanuel: PHP Variable an eingebundene php Datei übergeben

Hallo Leute!

Folgendes Problem:
In der Index.php gibts eine Variable $id die irgendeinen Wert hat.
Im Header wird mittels

  
<script type="text/javascript" src="javascript.php"></script>  

die Datei javascript.php eingebunden. In der Datei befindet sich Javascript welches jedoch für unterschiedliche Werte von $id anders aussehen soll.

Die Frage ist jetzt, wie bekomme ich $id in javascript.php ?
Index.php:

  
<?php  
$id = 1; //irgendein Wert  
?>  
<html>  
<head>  
...  
<script type="text/javascript" src="javascript.php"></script>  
...  
</head>  
<body>  
...  
</body>  
</html>  

javascript.php:

  
<?php  
$array = getArray($id);  
?>  
var Data = new Array();  
<?php  
foreach($array as $key => $index)  
{  
  echo "Data[$key] = new Object();";  
  foreach($index as $a => $wert)  
  {  
     echo "Data[$key][\"$a\"] = \"$wert\";";  
  }  
}?>  

Hoffe, dass mein Problem verständlich ist!

Btw. ich möchte nur ungern das ganze Script in die Index schmeissen, ist recht lang.

MfG Emanuel

  1. probiere aus, ob es möglich ist, die id als parameter zu übergeben.

    in der einen datei:

    include("andere_datei.php?id=7");

    in der anderen datei:

    if(isset($_GET['id'])) $id = $_GET['id'];  
    else $id = 0;
    

    ob es so funktioniert weiß ich nicht.

    1. Wenn ich die Datei per include(); einbinde dann ist die Variable sowieso in der Datei gültig, die Frage ist ob es jetzt einen großen unterschied macht ob ich die Datei per

        
      include("javascript.php");  
      
      

      einbinde oder per

        
      <script type="text/javascript" src="javascript.php"></script>  
      
      

      ich weiß, dass ich im obigen Fall (include) in der Datei noch

        
      <script type="text/javascript">  
      ...  
      </script>  
      
      

      einfügen muss damits als Javascript erkannt wird, im unteren Fall entfällt das bzw. darf ichs gar nicht machen, da darf kein HTML drin sein.

      1. ja. include bindet erstmal html-code ein, wenn er nicht anders ausgezeichnet wird ...

      2. Hi,

        die Frage ist ob es jetzt einen großen unterschied macht ob ich die Datei per

        include("javascript.php");

        
        > einbinde oder per  
        >   
        > ~~~html
          
        
        > <script type="text/javascript" src="javascript.php"></script>  
        > 
        
        

        Natuerlich, der Unterschied ist ein ganz wesentlicher - bei oberer Methode hast du den kompletten JS-Code in jedem HTML-Dokument mit drin, wodurch er sich nicht effektiv cachen laesst.

        MfG ChrisB

        --
        "The Internet: Technological marvel of marvels - but if you don't know *what* you're lookin' for on the Internet, it is nothing but a time-sucking vortex from hell."
    2. Hi,

      include("andere_datei.php?id=7");

      Das ist unsinnig, so heisst im allgemeinen keine im lokalen Dateisystem vorhandene Datei (sofern das Dateisystem Sonderzeichen wie das Fragezeichen ueberhaupt zulassen wuerde).

      MfG ChrisB

      --
      "The Internet: Technological marvel of marvels - but if you don't know *what* you're lookin' for on the Internet, it is nothing but a time-sucking vortex from hell."
  2. Hi,

    Du kannst hier die $id per GET übergeben:

      
    <script type="text/javascript" src="javascript.php?id=123"></script>  
    
    

    In der javascript.php hast du den Wert dann in $_GET['id'].

    mfG,
    steckl

    1. Hallo

      <script type="text/javascript" src="javascript.php?id=123"></script>

      Super danke, das funktioniert wunderbar :)

      @ChrisB & revo
      Danke für die Erklärungen

      MfG Emanuel