Stefan: Javascript und Php

hi!

habe derzeit ein wichtiges projekt am laufn (für die uni) und brauche etwas hilfe. habe es auch schonmal bei anderen leuten nachgefragt aber keine hilfe bekommen! ;-( hoffe ihr könnt mir weiterhelfen. und zwar:

wollte mal generall wissen wie ich mittels js auf php variablen zugreifen kann.

gibts da überhauptn weg ..also denk mitn normalen js nich aber meine mit ajax.

habe da nämlich eine session variable (is ein array mit mehreren werten) und würde für jeden wert gerne beim seitenload eine js funktion aufrufen. wie mach ich sowas? ich benutze jquery.

sowas hätte ich mir gedacht. natürlich geht das nicht aber gibt es so einen oder einen gleichartigen weg?:

  
$(function() {  
for ($_SESSION[]) {  
function();  
}  
});  

anderer weg wäre natürlich mit php auf js ...aber das wird schon gar nicht gehen denk ich: sowas hatte ich dabei gedacht:

  
<?php  
foreach ($_SESSION) {  
js funktion ()  
}  
?>  

ist natürlich alles nur pseudo code um die idee zu vermitteln! ;-) aber ich hasse js .... wieso geht nicht einfach alles mit php! ;-)

lg stefan

  1. Hallo Stefan,

    habe da nämlich eine session variable (is ein array mit mehreren werten) und würde für jeden wert gerne beim seitenload eine js funktion aufrufen. wie mach ich sowas?

    Schreib' mit PHP beim Ausgeben der Ressource an den Browser einfach ein Javascript-Array mit den Werten Deiner Session-Variablen. Dieses Javascript-Array beim Ladeereignis durch eine Javascript-Funktion abarbeiten zu lassen, sollte ja kein Problem darstellen.

    Freundliche Grüße

    Vinzenz

    1. hi, danke!!!

      im prinzip super verstanden!!

      werd wohl mal google durchsuchen da ich mit der js syntax nichts anfangen kann und keine foreach kenne bei js und glaub auch nich gibt.

      aber wenn du schon das schnell runterschreiben kannst (falls es nur ein zwei zeilen sind) kannst dank ich dir natürlich für!! ;-PPP

      liebe grüße
      stefan

      1. sorry

        hatte den dritten post noch nicht gesehen!!

        hab nun alles verstanden und werd das selber sicher herbekommen!!

        danke euch zweieN!!

        lg

  2. wollte mal generall wissen wie ich mittels js auf php variablen zugreifen kann.

    So, wie du dir das denkst: Erst einmal gar nicht. PHP läuft serverseitig und erzeugt Daten, die vom Browser verarbeitet werden. JavaScript läuft clientseitig, ist dem ganzen also nachgeordnet und arbeitet nur mit den Daten, die das PHP-Script erzeugt hat.
    Die einzige Möglichkeit ist, dass PHP dem JavaScript etwas bereitstellt ist, dass es die fraglichen Daten ausgibt - die einfachste Methode wäre natürlich, dass das PHP-Script das JavaScript im HTML-Dokument generiert.

    gibts da überhauptn weg ..also denk mitn normalen js nich aber meine mit ajax.

    Nein, Ajax ist hier unnötig und die schlechtere Wahl.

    anderer weg wäre natürlich mit php auf js ...aber das wird schon gar nicht gehen denk ich: sowas hatte ich dabei gedacht:

    <?php
    foreach ($_SESSION) {
    js funktion ()
    }
    ?>

    
    >   
    > ist natürlich alles nur pseudo code um die idee zu vermitteln! ;-) aber ich hasse js .... wieso geht nicht einfach alles mit php! ;-)  
      
    Du musst dir den grundlegenden Unterschied zwischen serverseitiger und clientseitiger vor Augen halten. PHP und JavaScript werden nicht gleichzeitig ausgeführt, teilen sich keine Variablen und können gegenseitig keine Funktionen aufrufen. PHP generiert lediglich HTML-Dokumente. PHP kann daher auch JavaScript-Code generieren. Du musst also hinkriegen, dass das PHP-Script korrekten JavaScript-Code erzeugt, der dann im Browser ausgeführt wird, wenn das PHP-Script schon lange nicht mehr läuft. Der zweite Ansatz ist dazu schon ganz richtig. Ein einfaches Beispiel:  
      
    <script type="text/javascript">  
    <?php foreach ($\_SESSION as $bla) { ?>  
    jsfunktion('<?php echo $bla; ?>');  
    <?php } ?>  
    </script>  
      
    Die Ausgabe sieht dann vielleicht so aus:  
      
    <script type="text/javascript">  
      
    jsfunktion('abc');  
    jsfunktion('def');  
    jsfunktion('ghi');  
      
    </script>  
      
    Prinzip verstanden? Auf die gleiche Weise kannst du natürlich auch komplexeren JavaScript-Code erzeugen wie die von Vinzenz angesprochenen Arrays.  
      
    Mathias
    
    -- 
    [JavaScript-Erweiterung für das SELFHTML-Forum](http://forum.de.selfhtml.org/js/doku/)