echo <script>

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
Marcosss
Nowy
Nowy
Posty: 67
Rejestracja: sob kwie 12, 2008 5:45 am

echo <script>

Post autor: Marcosss »

Kod: Zaznacz cały

echo '<div id="error">Sorry, but '.$message.'.<br><script type="text/javascipt"><!--window.write("Now you\'ll be redirected to the previous page.");setTimeout("back();", '.$sec * 1000.');//--></script><noscript><head><meta http-equiv="refresh" content="'.$sec.'; url=http://'.$_SERVER[SERVER_NAME].'"></head>Now you\'ll be redirected to the main page.</noscript></div>';
nic nie rozumiem, przestalo dzialac po dopisaniu js, ma ktos pomysl?
ooo_michal
Przelotem
Przelotem
Posty: 245
Rejestracja: śr kwie 18, 2007 9:06 am

Re: echo <script>

Post autor: ooo_michal »

[php]<?php
... 1000.');//--></script><n ...
-------------^ tu rozpoczyna się komentarz php i reszta nie jest już czytana jako kod skryptu
?>
[/php]
Poprawione, troszke zmodyfikowane

Kod: Zaznacz cały

<div id="error">Sorry, but <?php echo $message; ?><br>
    <script type="text/javascipt">
        <!--
            window.write("Now you\'ll be redirected to the previous page.");
            setTimeout("back();", <?php echo $sec * 1000; ?>);
        //-->
    </script>
    <noscript>
        <head>
            <meta http-equiv="refresh" content="<?php echo $sec;?>; url=http://<?php echo $_SERVER[SERVER_NAME];?>">
        </head>
        Now you\'ll be redirected to the main page.
    </noscript>
</div>
Czy nie wygląda lepiej?
Poza tym kod i tak jest pełen błędów.
1. <head> wewnątrz <div>?
2. Nie back(); tylko history.back();
3. A co jeśli ktoś na podaną stronę dostanie się za pomocą jakiegoś linku? dostaje history.back(); i nie będzie wiedział co się dzieje. Już lepiej document.location(http://<?php echo $_SERVER[SERVER_NAME];?>);
4. A w ogóle to nie lepiej skorzystać z przekierowania http ustawianego przez php?
Marcosss
Nowy
Nowy
Posty: 67
Rejestracja: sob kwie 12, 2008 5:45 am

Re: echo <script>

Post autor: Marcosss »

dzieki za odp.

headerem moge bez problemu, do zmiennej error dodam $refa jako dodatkowy parametr (...['PHP_SELF']), tylko, ze troche to klopotliwe, (...['HTTP_REFERER'] nie pomoze - otwieranie tylko za pomoca requirowania z $_GETa(nie probowalem))...

JS najchetniej bym nie uzywal, nie jest mi potrzebny, to zreszta jedyny JSowy "skrypt".
ODPOWIEDZ