Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php, html] Shoutbox
Forum PHP.pl > Forum > PHP
soska66
link do strony z problemem jest w mojej sygnaturce

sprawa jest prosta. zbudowalem w php prosty shoutbox w oparciu o baze mysql, ktorego kod zapisalem w pliku shoutbox.php.
w pliku index.php dodalem IFRAME i jako atrybut SRC="shoutbox.php". Wszystko dziala pieknie w IE i Mozilli. Po dodaniu wpisu, nastepuje przekierowanie za pomoca header() do strony glownej, shoutbox (czyli zawartosc iframe) automatycznie sie odswieza i wyswietla dodany wpis

Jednak w Operze jest problem. Bo przekierowanie strony (header) czy nawet reczne odswiezenie zawartosci przegladarki ni epowoduje odswiezenia shoutboxu (czyli zawartosci IFRAME). trzeba do piero w ramce kliknac prawym i wybrac odswiez.

Czy ktos zna metode albo jakis cudowny kodzik, ktory by to sprostowal??


I jeszcze druga sprawa od razu... jak spowodowac, aby zawartosc IFRAME byla rozciagnieta na maxa do obu marginesow?
siemakuba
z IFRAME w Opera ci nie pomoge, ale,
Cytat
jak spowodowac, aby zawartosc IFRAME byla rozciagnieta na maxa do obu marginesow?

nie wystarczy w dokumencie shoutbox.php dac na body style="margin:0;" ?
soska66
Cytat
nie wystarczy w dokumencie shoutbox.php dac na body style="margin:0;" ?


no wlasnie nie wystraczy:)
GrayHat
  1. style="margin: 0px; padding: 0px;"


moze tak?
slash12345
Można zastosować małą sztuczkę. Twórcy Opery prawdopodobnie zdecydowali się zwiększyć wydajność, cachując strony. jeśli jednak adres strony się zmieni, Opera nie będzie mogła pobrać jej z pamięci podręcznej. Możesz np. dokleić do adresu GET losową wartość lub pokombinować z czasem, byle adres był inny. Powinno to zmusić przeglądarkę do działania.
  1. <?php
  2. $aktualny_adres="http://".$HTTP_HOST.$SCRIPT_NAME; //Nie wiem czy to dziala, tu ma byc aktualna nazwa pliku
  3. header("Location: {$aktualny_adres}?losowa=".microtime());
  4. ?>
soska66
widzisz slash - problem polega na tym, ze to nie dzieje sie wylacznie po wyslaniu formularza. Nawet jesli submituje formularz, a potem przejde sie po kilku podstronach to IFRAME wciaz pozostaje nieodswiezony

Co wiecej smile.gif nawet otwierajac nowa karte lub okno w operze i wklepujac adres strony na nowo, IFRAME sie nie odswieza!!! Tylko jak klikne w IFRAME prawym i tam odswieze to przynosi rezultat
GrayHat
  1. <meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
soska66
GrayHat smile.gif - nie ma bata ani z
Kod
meta HTTP-EQUIV="Pragma" CONTENT="no-cache"
ani z
Kod
style="margin: 0px; padding: 0px;"


Widze, ze ludziska sie bawia tym shoutboxem na ewentualnosc wystepowania niedopatrzen:) I kilka juz odkryli. Stad moje pytanko:)

Czy jest jakas funkcja php, ktora od sama wyszukuje w stringu znacznikow html?? Zeby nikt nie mogl wpisac do shoutboxa kodu iframe albo odnosnika
siemakuba
ej ej, moj drogi kolego smile.gif

zadalem sobie trud zajrzenia w zrodlo twojej ramki z shoutboxem (http://www.filmoviec.webd.pl/shoutbox_read.php), i co tam znalazlem?

  1. <link rel="StyleSheet" type="text/css" href="style/styl1.css">
  2. <table cellpadding="0" cellspacing="0" width="100%" >
  3. (...)


piszesz ze style="margin: 0px; padding: 0px;" dany na BODY w ramce nie dziala. Nie dziala z prostej przyczyny, nie masz w tej ramce BODY. To jest co prawda IFRAME, wiec moze nie jest to oczywiste, ale zeby chociaz mogl zachowywac sie poprawnie musi byc poprawnym dokumentem HTML smile.gif

edit:
bardzo mozliwe ze stad tez bierze sie twoj problem z Opera

pozdr.
Vogel
Cytat(soska66 @ 2006-04-23 15:54:10)
Czy jest jakas funkcja php, ktora od sama wyszukuje w stringu znacznikow html?? Zeby nikt nie mogl wpisac do shoutboxa kodu iframe albo odnosnika

htmlspecialchars() htmlentities()
soska66
z tym BODY faktycznie smile.gif moj blad... zapomnialem, ze shoutbox.php nie jest include'owane (wtedy znalazlo by sie w obrebie BODY calej strony) tylko jako src smile.gif wiec faktycznie powinno miec swoje BODY

ale z opera to nie pomoglo. Poki co poszedlem na okolo i po prostu dalem przycisk do odswiezenia
GrayHat
Cytat(Vogel @ 2006-04-23 19:12:38)
Cytat(soska66 @ 2006-04-23 15:54:10)
Czy jest jakas funkcja php, ktora od sama wyszukuje w stringu znacznikow html?? Zeby nikt nie mogl wpisac do shoutboxa kodu iframe albo odnosnika

htmlspecialchars() htmlentities()

a nie lepiej uzyc do tego funkcji, ktore sa do tego stworzone??

mysql_escape_string
Vogel
Cytat(GrayHat @ 2006-04-23 19:30:31)
Cytat(Vogel @ 2006-04-23 19:12:38)
Cytat(soska66 @ 2006-04-23 15:54:10)
Czy jest jakas funkcja php, ktora od sama wyszukuje w stringu znacznikow html?? Zeby nikt nie mogl wpisac do shoutboxa kodu iframe albo odnosnika

htmlspecialchars() htmlentities()

a nie lepiej uzyc do tego funkcji, ktore sa do tego stworzone??

mysql_escape_string

no to pomysl jeszcze raz co chce osiagnac soska66 a do czego sluzy mysql_escape_string()...
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.