Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML][JavaScript]Jak połączyć PHP i JS w takim przypadku
Forum PHP.pl > Forum > Przedszkole
yalus
witam wszystkich,

mam oto taki plik:

  1. <?php
  2. function refresh_page()
  3. {
  4.  
  5.    <br><br>
  6.    HTTP Event - <b>".mysql_errno()." : ".mysql_error()."</b> - The request cannot be processed at this time.
  7.    <br><br>
  8.    <a href='java script:location.reload(true)'>Please click here to refresh this page</a>
  9.    <br><br>  
  10.   </body>
  11.   </html>";
  12. }
  13.  
  14.  
  15. "
  16. <html>
  17. <head>
  18. </head>
  19.  
  20. <body>";
  21.    $query="Select * from tbl1";
  22.    $result_total  = mysql_query($query);
  23. </body>
  24. </html>";
  25. ?>



i bardzo czest zdaza mi sie ze w miejscu wykonywanie query dostaje 2 bledy:

2006 : MySQL server has gone away
2013 : Lost connection to MySQL server during query

w wypadku wystapienia ktoregos z nich caly skrypt sie wysypuje a mi zalezy na tym aby przechwycic ten blad w miare nie zauwazalnie dla uzytkownika. konstrukcja zapytania nie ma tutaj znaczenie bo uzytkownik nie ma na nia wplywu - jest zawsze taka sama i jest prawidlowa

dlatego postanowilem wprowadzic cos takiego:

  1. <?php
  2. $result_total  = mysql_query($query) or die(refresh_page());
  3. ?>


po wystapieni bledu pojawia sie link w ktory klikajac odswierzamy strone a czy jest mozliwe odswierzenie strony po wystapieniu bledu bez klikniania?

pozdrawiam
lewy87r
<meta http-equiv="refresh" content="0;url=" />
yalus
to bylo by zbyt piekne to co mowisz, ale

do momentu wystapienia bledu strona wyglada juz tak:

  1. <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  2. <link type="text/css" rel="stylesheet" href="style.css">
  3. <script type="text/javascript" src="functions.js"></script>
  4. </head>
  5.  
  6. <body id='content-body'>
  7. <DIV ID='wait'></DIV>
  8. <DIV ID='pomoc'></DIV>
  9. <DIV ID='AJAXerror' ></DIV>


blad powstaje tutaj i skrypt przestaje dzialac, dlatego dodalem do funkcji przechwycenia bledu dwa tagi zamykajace cala strone.
To co Ty piszesz to sie dobrze sprawdza jak chcialbys odswierzyc strone juz w zalozeniu a ja chce tylko jak wystapi ten blad
lewy87r
hmm... same glupie i malo mądre rozwiazania mi przychodza do glowy....

cala strone pierw wczytac do zmiennej ;]
zamiast echo dawac $strona .= ' ';

i jak wystapi blad to wyswietlic refresha samego a jak nie wystapi to zmienna dac na wyjscie ;]

i gitara ;]

innym sposobem jest zrobienie flasha (haha) ktory po sekundzie bedzie sam otwieral url-a ;] oczywiscie zamieszczasz go zamiast klika ;]

szkoda ze zaden sensowny pomysl mi nie przychodzi do glowy ;]

no moze to jest rozwiazaniem:

http://www.elated.com/articles/javascript-...nd-setinterval/
yalus
to ostatnie rowniez sprawdzalem,
ale mimo to dzieki
viking
try ... catch przy PDO
header('location...
yalus
header odpada bo wczesniej juz echo zostalo odpalone ;(

ale chyba mam rozwiazanie:

  1. window.document.location.reload(true);
  2. </script>


zamiast linka winksmiley.jpg
viking
I co z tego że zostało odpalone? http://pl.php.net/manual/en/ref.outcontrol.php
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.