Yannis: Javascript & PHP

Hi,

ich kombiniere Javascript mit PHP und habe dort ein Problem.
Beim Aufrufen meiner Seite (nach dem Laden) wird mit Hilfe von "onload="showit('ad')" eine Tabelle eingeblendet, aber nur wenn ich in der URL die Seite mit "?hans=1" aufrufe.

Die Funktion sieht so aus:

function showit(name) {
  var hans = "<?php echo $hans; ?>";
  if (hans == 1) {
  var x = document.getElementById(name);
  x.style.display='block';
   }
   return false;
 }

Aber die Variable von $hans wird einfach nicht in Javascript eingesetzt. Würd ich anstelle des PHP Codes im Jscript einfach eine 1 setzen, dann passiert das was ich möchte...
aber das PHP nimmt er dort nicht an!
Habt ihr eine Idee bzw. Hilfe dieses Problem zu umgehen?

Grüße Yannis K.

  1. echo $begrüßung;

    var hans = "<?php echo $hans; ?>";

    Vermutlich existiert die Variable $hans nicht. Es ist schon seit langer Zeit nicht mehr so, dass für GET- und POST-Parameter gleichnamige Variablen angelegt werden. Du findest diese Werte in den Arrays $_GET bzw. $_POST. In deinem Fall: echo $_GET['hans'];

    echo "$verabschiedung $name";

    1. echo $begrüßung;

      var hans = "<?php echo $hans; ?>";

      Vermutlich existiert die Variable $hans nicht. Es ist schon seit langer Zeit nicht mehr so, dass für GET- und POST-Parameter gleichnamige Variablen angelegt werden. Du findest diese Werte in den Arrays $_GET bzw. $_POST. In deinem Fall: echo $_GET['hans'];

      echo "$verabschiedung $name";

      Die Get Methode funktioniert auch nicht - Immerhin wird es mometan noch in gleichnamigen Variablen abgelegt ;)

      Vielleicht muss ich $hans als Globale Variable definieren, weil die JS Datei und die Datei in der die Funktion ausgeführt wird per PHP Include 'eingeschlossen' wird.

      1. echo $begrüßung;

        [...] echo $_GET['hans'];
        Die Get Methode funktioniert auch nicht - Immerhin wird es mometan noch in gleichnamigen Variablen abgelegt ;)
        Vielleicht muss ich $hans als Globale Variable definieren, weil die JS Datei und die Datei in der die Funktion ausgeführt wird per PHP Include 'eingeschlossen' wird.

        $_GET ist ein superglobales Array. Es steht in jedem Variablen-Scope zur Verfügung. Wenn $_GET['hans'] nicht existiert, hast du ein anderes Problem. Schalte alle Fehlermeldungen ein, indem du das error_reporting auf E_ALL stellst. Damit werden Notiz-Meldungen nicht mehr unterdrückt, die dich auf nicht vorhandene Variablen hinweisen. Schau nach, was in $_GET enthalten ist. Dazu eignet sich print_r() und var_dump(). Zuvor empfiehlt sich die Ausgabe eines <pre> zur besseren Formatierung der Ausgabe.

        echo "$verabschiedung $name";