Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][CSS][PHP] Formualrz - dodawanie danych
Forum PHP.pl > Forum > Przedszkole
greg.paw.90
Witam forumowiczów,
napotkałem problem i w związku z tym chciałbym się Was poradzić.

Oto problem:
Mam formularz, dodawania danych do bazy danych, teraz chciałbym zrobić tak, że jak ktoś wypełnij formularz i kliknie w SUBMIT wyślij pojawi się przyciemnione tło z napisem trwa dodawanie, natomiast gdy doda ten napis zmieni się na dodano. Niestety coś mi nie działa tzn od razu pokazuję się dodano...

Jak ja to robię:
  1. if(isset($_POST['wyslij'])){
  2. include('functions.php');
  3. ?>
  4. <style type="text/css">
  5. #backgroundPopup{
  6. display:block;
  7. position:fixed;
  8. _position:absolute; /* hack for internet explorer 6*/
  9. height:100%;
  10. width:100%;
  11. top:0;
  12. left:0;
  13. padding-top:300px;
  14. background:#000000;
  15. color:white;
  16. font-size:14px;
  17. text-align:center;
  18. opacity:0.8;filter:alpha(opacity=80);
  19. border:1px solid #cecece;
  20. z-index:9999;
  21. }
  22. </style>
  23.  
  24. <div id="backgroundPopup"><img src="templates/images/loadingAnimation.gif" width="208" height="13" alt="ladowanie" /><br /><span id="i">dodawanie, prosimy czekać...</span></div>
  25. <?php
  26.  
  27. $user = $_SESSION['user'];
  28. $date = date('Y-m-d H:i:s');
  29. $ip = $_SERVER['REMOTE_ADDR'];
  30.  
  31. flush();
  32. sleep(2);
  33.  
  34. add_noimg($user,$date,$ip);
  35. }
  36. ?>
  37. ....
  38. // formularz


plik functions.php
  1. function add_noimg($user,$date,$ip){
  2. $add = mysql_query("INSERT INTO market VALUES(0,'$user','$ip','$data',0,1);");
  3. if($add == 1){
  4. ?>
  5. <script type="text/javascript">
  6. var info=document.getElementById("i");
  7. info.innerHTML = 'sukces, dodałeś wpis';
  8. </script>
  9. <?php
  10. flush();
  11. sleep(2);
  12. // tutaj będzie header z przekierowaniem
  13. }
  14. else{
  15. ?>
  16. <script type="text/javascript">
  17. var info=document.getElementById("i");
  18. info.innerHTML = 'błąd, spróbuj ponownie';
  19. </script>
  20. <?php
  21. flush();
  22. sleep(2);
  23. // tutaj będzie header z przekierowaniem
  24. }
  25. }


Macie może jakieś wskazówki ?

Pozdrawiam
bastard13
Ten sleep(), który sobie dodajesz rzeczywiście opóźnia działanie skryptu tyle, że po stronie serwera, wieć klient i tak tego nie widzi. Jeżeli chcesz to zrobić po stronie klienta to musisz zaciągnąć do tego JS i funkcje settimeout bądź setinterval: http://www.elated.com/articles/javascript-...nd-setinterval/
greg.paw.90
ohh, zapomniałem o tym DZIĘKI bardzo
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.