Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Odświerzanie strony wcześniej
Forum PHP.pl > Forum > Przedszkole
fredzio90
otóż mam taki problem, mam u siebie na stornie opcję g łosowanie, po kliknijęciu w link Głosuj wywala mi popupa z dostęponymi opcjami do głosowania ( 1 - 10 ), i po kliknieciu w ocene, POPup odświerza się i pokazuje wiadomość "..dziękuje...". i właśnie przychodze do was z pytaniem. jak mógłbym odświerzyż stronę na której widniał Link Głosuj questionmark.gif

może jest coś takiego, ale teraz coś przyszło mi do głosy, że w popupie, pod trescią dziękuje, widniałby link do zamknięcia i automatycznego odświerzenie strony... lecz jak ktoś kliknie w "Krzyżyk" windowsa ....
singles
Poszukaj informacji na temat javascript opener() - powinno się nadać.
fredzio90
za dużo informacji w Polskim internecie ni znalazłem, a chociaż gdybym znalazł, nie umiał bym chyab tego przystosować...

znalazłem takie coś na forum:

window.opener.location.reload();
window.close();

domyślam się ze to by zadziałało,. ale jak te 2 linijki "złączyć" do jednego linku
singles
Zapisać do funkcji wywoływanej przy zdarzeniu onClick. np <a href=adres onClick=java script:twojaFunkcja()> .
fredzio90
hmmm.. dałem tak:

  1. <?php
  2. echo '
  3. <script language="JavaScript">
  4. funtion zam() {
  5. window.opener.location.reload();
  6. window.close();
  7. }
  8. </script>
  9.  
  10. <br><center>Dziękujemy za oddanie głosu na klub <b>'.$id.'</b> Miejmy nadzieje że dobrze oddałeś swój głos</center>';
  11. echo'<br><div align="center">[ <a href="#" onClick="java script:zam()">Zamknij</a> ]</v></div>';
  12. ?>


i niestety nei działa

probowałem na wiele sposobów i nic

pomożecie questionmark.gif sadsmiley02.gif
mrjozo
Jak dałeś z błędami to nie będzie działać... W niektórych dobrych przeglądarkach jest taka użyteczna opcja jak Konsola błędów i tam zobaczysz jakie błędy masz

  1. <?php
  2. echo '
  3. <script language="JavaScript">
  4. function zam() { 
  5. window.opener.location.reload();
  6. window.close();
  7. }
  8. </script>
  9.  
  10. <br><center>Dziękujemy za oddanie głosu na klub <b>'.$id.'</b> Miejmy nadzieje że dobrze oddałeś swój głos</center>';
  11. echo'<br><div align="center">[ <a href="#" onClick="java script:zam()">Zamknij</a> ]</v></div>';
  12. ?>


ma być function i działa bez problemu

i zawsze możesz sprwdzić czy okno nie zostało zamknięte:

Kod
if (window.opener && !window.opener.closed)
    { kod gdy jest }
    else
{ gdy zamknięte }
fredzio90
dziękuje, moja literówka a wszystko zmienia...

DZIĘKUJE OCZYWIŚCIE DZIAŁA JAK NATURA CHCIAŁA guitar.gif

oki, ostatnie pytanko... prubuje właśnie zrobić twoim sposobem że jak klikne w okienku na windowsowy krzyzyl, to zeby się storna odświerzyła.. i dałem takie coś:

  1. <script language="JavaScript">
  2. if (window.opener && !window.opener.closed)
  3. { }
  4. else
  5. { window.opener.location.reload(); }
  6.  
  7. <br><center>Dziękujemy za oddanie głosu na klub <b>'.$id.'</b> Miejmy nadzieje że dobrze oddałeś swój głos</center>';
  8. echo'<br><div align="center">[ <a href="#" onClick="java script:window.close()">Zamknij</a> ]</v></div>';


klikam w zamknij, i nie odświrerza poprzedniej strony
mrjozo
W okienku które otwierasz daj taki kod: (nie działa to jednak we wszystkich przeglądarkach)

Kod
<body onunload="java script:zam()" onclose="java script:zam()">



<script language="JavaScript">


function zam() {
if (window.opener && !window.opener.closed) //sprawdza czy okno z ktorego zostalo otwarte nie zostalo zamkniete
    {
    window.opener.location.reload();
    }
    else
{  
//uzytkownik zamknal tamto okno wiec nie ma co odswiezac
}

window.close();
}
</script>
fredzio90
z tym że ja to okienka mam w funckji, a całość prezentuje się tak: ( treść okienka popup )

  1. <?
  2. function voting_club(){
  3. global $id, $note, $rank_club_tbl, $PHP_SELF;
  4. if($_COOKIE['rank_club']<>1){
  5.  
  6. $query = "SELECT il_glosow,srednia_ocena FROM $rank_club_tbl WHERE title='$id'";
  7. $res = mysql_query($query);
  8. $r = @mysql_fetch_array($res);
  9. $ocena = round((($r['srednia_ocena']/10)*$r['il_glosow'] + $note/10 )*10 / ($r['il_glosow'] + 1), 2);
  10. $query = "UPDATE $rank_club_tbl SET il_glosow=il_glosow+1, srednia_ocena=$ocena WHERE
     title='$id'"
    ;
  11. mysql_query($query);
  12. setcookie("rank_club", "1", time()+24*3600);
  13.  
  14. echo '<center><a href="link_do_bannera"><img src="twoj_banner.gif" border="0"></a></center>';
  15. ?>
  16. <style>
  17. a { outline:none }
  18. </style>
  19. <?
  20. echo '
  21. <script language="JavaScript">
  22. if (window.opener && !window.opener.closed)
  23. { }
  24. else
  25. { window.opener.location.reload(); }
  26. </script>
  27.  
  28. <br><center>Dziękujemy za oddanie głosu na klub <b>'.$id.'</b> Miejmy nadzieje że dobrze oddałeś swój głos</center>';
  29. echo'<br><div align="center">[ <a href="#" onClick="java script:window.close()">Zamknij</a> ]</v></div>';
  30. }
  31. }
  32. ?>


i gdzie miałbym to wrzucić? tongue.gif
mrjozo
Kod
<?php
//...
setcookie("rank_club", "1", time()+24*3600);

?>

<head>
  <title>tytul</title>
</head>
<body onunload="java script:zam()" onclose="java script:zam()">
<center><a href="link_do_bannera"><img src="twoj_banner.gif" border="0"></a></center>
<style>
a { outline:none }
</style>

<script language="JavaScript">
function zam() {
if (window.opener && !window.opener.closed) //sprawdza czy okno z ktorego zostalo otwarte nie zostalo zamkniete
    { 
    window.opener.location.reload(); 
    }
    else
{  
//uzytkownik zamknal tamto okno wiec nie ma co odswiezac
}

window.close();
}
</script>

<?
echo '<br><center>Dziękujemy za oddanie głosu na klub <b>'.$id.'</b> Miejmy nadzieje że dobrze oddałeś swój głos</center>';
?>
<br><div align="center">[ <a href="#" onclick="java script:window.close()">Zamknij</a> ]</v></div>

</body>
</html>
<?
}
}
fredzio90
niestety ani na IE, ani na FF nie działa... znaczy, nie działa odświeżanie..
mrjozo
Mi działa na ff i ie7,na operze są tylko problemy, sprawdź czy przypadkiem tutaj nie masz osobno napisu java script:
onclick="java script:window.close()"

a jeśli dalej są błędy sprawdź na konsoli błedów gdzie są błedy
fredzio90
oki, niewiem jak ale zaczeło działać
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.