PHPvariable nach JavaScript

alf210

Well-known member
ID: 61871
L
1 Mai 2006
66
4
Erst mal ich bin ein grünschnabel in sachen Javascript. ^^

So ich habe folgendes Porblem ich rufe eine Seite auf in der steht unter anderem
Code:
<script type="text/javascript">
    setTimeout('window.opener.location.reload ();',100);
  setTimeout("self.close()",5000);
  </script>

Das heist ja das sich die Seite in 5 sec schließt. Und da kommt es ich möchte da eine PHPvariable einsetzten z.b. $zeit. Da habe ich folgendes probiert

Code:
var Ergebnis = "<?echo "$zeit";?>";
    setTimeout('window.opener.location.reload ();',100);
  setTimeout("self.close()",Ergebnis);
  </script>

wie mus das richtig sein?
 
Zuletzt bearbeitet:
Schreib erstmal 100 mal "JavaScript ist nicht Java" - Anschließend hilft dir bestimmt jemand.

:mrgreen:
 
1. Java != JavaScript. Das was du da hast, ist JavaScript und kein Java!

2. <?echo "$zeit"; ?> Ne bitte nicht. Die DoubleQuotes kannst du hier weglassen. Also bitte: <?echo $zeit; ?>

3. var Ergebnis = "<?echo "$zeit";?>";
Du willst in Ergebnis eine Zahl reinschreiben. Wenn du die in DoubleQuotes (") setzt, dann wird das aber als string angesehen. Eine Zahl ist aber kein string sondern ein integer. Also bitte:
var Ergebnis = <?echo $zeit; ?>;

Sollte dann gehen. (ist aber ungetestet) Wenns nicht geht, dann nenn hier bitte eine Fehlermeldung. ;)
 
@ wahnsinn ok Sorry ich meine natürlich Javascript

So es geht noch nicht sieht jetzt so aus
Code:
<script type="text/javascript">
var Ergebnis = <?echo $zeit;?>;
    setTimeout('window.opener.location.reload ();',100);
  setTimeout("self.close()",Ergebnis);
  </script>

wenn die Seite jetzt aufgerufen geht sie sofort wieder zu.
 
@ wahnsinn ok Sorry ich meine natürlich Javascript
Dann korrigier doch bitte auch den Thread-Titel.

Deaktivier doch mal die Zeile mit dem Autoclose und schau erstmal in den HTML-Quellcode.

Übrigens sieht <?echo $zeit;?> nicht gesund aus. Mach doch mal wenigsten ein Leerzeichen nach dem <? oder noch schöner wäre <?php echo $zeit; ?>
 
Es war die $zeit die setzte sich aus
Code:
$zeit = $lala['aufendhalt'] + 5;
zusammen und das ist auch der fehler $lala ist z.b. 10 gewesen allso ist $zeit 15 und das ist bischen zu kurz ^^. Jetzt sieht es so aus
Code:
$zeit = $lala['aufendhalt'] * 1000 + 5000;
 
Zuletzt bearbeitet: