Sebastian: Wert in Php-Variable über JS Funktion einfügen?

Hi,

auf einer meiner Seiten habe ich ein Menü, welches man über JS ein- und ausklappen kann.
Nun wird aber bei einem Seiten wechsel nicht die information übergeben, ob es ein- oder ausgeklappt ist.

Meine Frage ist nun, ob man einen Wert in eine PHP-Variable über das JS eintragen kann, um später dann die imformation per get an die nachfolgende Seite übertragen zu können.

Ich habe gedacht es mit

window.location.href

zu machen. Allerdings soll nicht an jeden Link der Wert angehängt werden.

Grüße

Sebastian

  1. hallo,

    Meine Frage ist nun, ob man einen Wert in eine PHP-Variable über das JS eintragen kann

    Nö, kann man nicht (naja, kann man doch, aber ...). Anders herum geht es problemlos: du kannst mit PHP eine Variable in ein vom Server ausgeliefertes Javascript schreiben. Das ist auch auf jeden Fall vorzuziehen.
    Zur Erklärung: Javascript ist eine Technologie, die clientseitig ausgeführt wird. PHP ist dagegen eine serverseitig wirksame Technologie. Was du mit Javascript eventuell im Browserfenster deines Seitenbesuchers anrichtest, ist dem Server in aller Regel völlig wurscht, er erfährt nichts davon. Was du dagegen mit PHP vom Server ausgeben läßt, erreicht den anfragenden Browser, und es dürfen darin durchaus auch Javascript-Bereiche enthalten sein.

    Ich habe gedacht es mit
    window.location.href
    zu machen.

    Oh. Kannst du erklären, wie du auf diese Idee gekommen bist?

    Allerdings soll nicht an jeden Link der Wert angehängt werden.

    Welcher Wert und welcher Link? Hast du ein Codebeispiel für das, was du jetzt gemeint hast?

    Grüße aus Berlin

    Christoph S.

    1. Hey,

      Ich habe gedacht es mit
      window.location.href
      zu machen.

      Oh. Kannst du erklären, wie du auf diese Idee gekommen bist?

      http://forum.de.selfhtml.org/archiv/2004/12/t95549/
      Hatte ich hier raus entnommen

      Allerdings soll nicht an jeden Link der Wert angehängt werden.

      Welcher Wert und welcher Link? Hast du ein Codebeispiel für das, was du jetzt gemeint hast?

      Naja, es soll nun übermittelt werden, ob das menü  ein- oder ausgeklappt ist und für die nächste Seite übernommen werden.
      Allerding, vorrausgesetzt ich habe das richtig vertanden, wird, mache ich es wie in dem Link geschildert, an jeden Link dieser Wert angehängt.
      Das soll er aber nicht, bzw. bei Forms müsste an Zieladressen auch der Wert angehängt werden.

      Grüße

      Sebastian

  2. Hallo Sebastian

    Wenn du die Werte nicht  an den link hängen willst um sie per GET zu  übertragen, könntest du vielleicht ein Formular mit einen hidden feld benutzen und es per POST machen.
    Ich habe mal ein Mini Beispiel zusammengebastelt. Ich hoffe, du meintest sowas in der Art.

    Hier noch der PHP Code von ziel.php

    <?PHP
         echo "<script language="JavaScript">"."\r\n";
         echo "<!--"."\r\n";
         if(isset($_GET['parameter']))
         {
           echo "  var meinParameter="".$_GET['parameter']."";"."\r\n";
         }
         if(isset($_POST['parameter']))
         {
           echo "  var meinParameter="".$_POST['parameter']."";"."\r\n";
         }
         echo "   alert(meinParameter);"."\r\n";
         echo "//-->"."\r\n";
         echo "</script>"."\r\n";
       ?>

    liebe Grüße

    mbr

    1. Hey,

      »»Mini Beispiel

      So wie ich das sehe, übergibts du jetzt aber von php nach JS, oder?
      Ich bräuchte aber, dass der Wert von einer JS Funktion an php übergeben wird.

      Außerdem hast du bei deinem Beispiel den Wert einfach an den link gehängt, dies soll aber nur geschehen wenn auch die Funktion ausgeführt wurde.

      Also, wenn per JS Funktion das Menü ausgeblendet wurde, wird an den link ?menue=deaktiviert gehängt, aber auch nur an die von mir gewählte und einige Forms, da das Menü ja auch ausgeblendet bleiben soll, wenn man ein form benutzt.
      Wird die Funktion nicht ausgeführt, passiert nichts.

      Anfangs hatte ich es nur mit php gemacht, da ist aber das Problem, dass wenn ich das menü ein- oder ausbelnde, immer die Seite neu geladen werden muss und das z.b. bei forms nerfig ist, weil die daten immer wieder übermittelt werden.

      Grüße

      Sebastian