Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Opóźnianie $_POST
Forum PHP.pl > Forum > Przedszkole
Johnas
Witam czy w PHP da się opóźnić wykonanie $_POST ? Chodzi mi o coś w stylu:
  1. header( "refresh:9;url=index.php" );
nospor
A może po prostu napisz co chcesz zrobić, bo opis co teraz dałeś jest bez sensu smile.gif
KLikasz "wyslij formularz" to się formularz wysyła i już. Co tu opóźniać?
Johnas
Bo mam animacje wyścigu w grze która trwa 10 sek. i chcę aby po animacji wyskoczyły mi na dole napisy:
Wygrałeś
Dostałeś x doświadczenia i y złotych
Zrobił bym to za pomocą $_GET ale tak to każdy będzie mógł sobie napisać link aby mu pokazało
np
  1. if ($_GET['win']){
  2. echo '<span class="powodzenie">Wygrałeś</span>';
  3. echo '<span class="powodzenie">Dostałeś x doświadczenia i y złotych </span>';
  4. }


Ale jeśli ktoś wpisze sobie race.php?win to to samo pokaże a jak zrobię za pomocą $_POST to nie będą mogli wpisać w przeglądarce linku winksmiley.jpg Nie wiem czy dobrze myślę w tym temacie tongue.gif
nospor
Ale to zadne zabezpieczenie ze zamiast w GET to dasz w POST. zadne smile.gif

Cytat
Nie wiem czy dobrze myślę w tym temacie tongue.gif
Obraziłem Cię czymś ze mi język pokazujesz? Zbłaźniłem się czymś ze mi język pokazujesz? Jesteś chamem i prostakiem ze bez powodu mi język pokazujesz?

Czy na któreś z pytań powyżej jest pozytywna odpowiedź? A może na żadne nie ma? No to czemu mi język pokazujesz?
Johnas
bo chcę pokazać mniej więcej o co mi chodzi... Nie wiem po prostu jak zrobić aby po wyświetleniu animacji (10 sek) pokazały się te napisy o które mi chodzi...

A język to tak o biggrin.gif Lubię ten emotek haha.gif
nospor
A ta animacja to jakiś flash? Js?
A jakiś kod po jakimś czasie wykonuje się funkcją setTimeout() - więcej informacji w necie.

Cytat
A język to tak o Lubię ten emotek
Ja lubię cycki. To naprawdę nie znaczy ze mam w każdym poscie bez sensu pokazywać emotki cycków. UZYWAJ emotek zgodnie z ich znaczeniem!
Johnas
Język to przyzwyczajenie na Gadu-Gadu... Nie wiedziałem że tak to odbierzesz winksmiley.jpg Leci pomógł
nospor
Cytat
Język to przyzwyczajenie na Gadu-Gadu...
Tyle się domyslilem. Nie sądze byś był chamem i prostakiem smile.gif
Jednak jak się takiemu trochę dosadniej zwróci uwagę to może na przyszłośc zapamięta winksmiley.jpg

ps: ja też uzywam GG i nie widzę powodu dla którego mam walić jęzor co drugi wyraz. tongue.gif (tak, tu jęzor z mojej strony jest uzasadniony)
Johnas
wiesz nie rozumiem togo "setTimeout"... szukam na google i nic nie ma zrozumiałego dla mnie sad.gif Mógł byś chodź trochę wytłumaczyć?
nospor
Nie wiem gdzie szukasz, ale tu masz ładnie to opisane
http://www.w3schools.com/js/js_timing.asp
Ulysess
a jeśli nie rozumiesz ang w skrócie , funkcja służy do wyświetlenia kodu html lub np samego textu o określony czas.
nospor
@Ulysess nic bardziej mylnego. Chyba sam musisz iść na naukę j. angielskiego winksmiley.jpg
Funkcje setTimeout() służy do wykonywania co jakiś czas określonego kodu js
Ulysess
fakt małe pojęcie mam o JS... ale tej funkcji akurat używam do wyświetlania co jakiś czas kodu html.
Johnas
Zrobiłem tak jak tam było opisane:
między <head> dałem kod:
  1. <script type="text/javascript">
  2. function timedMsg()
  3. {
  4. var t=setTimeout("alert('Wygrałeś! dostałeś eeqww doświadczenia')",10000);
  5. }

Tyle że to jest w pliku header.php i jest includowane

teraz plik race.php wygląda tak:
  1. <?php
  2. session_start(); // rozpoczęcie sesji
  3. ?>
  4.  
  5.  
  6. <?php include('header.php'); ?>
  7.  
  8. <div class="right">
  9.  
  10. <?php
  11. if ($_SESSION['login']) {
  12. include 'db.php'; // połączenie się z bazą danych
  13. $idu = $_SESSION['id'];
  14. $userdane = mysql_fetch_array(mysql_query("SELECT * FROM userdane WHERE iduser='$idu'"));
  15. $mycar = mysql_fetch_array(mysql_query("SELECT * FROM mycar WHERE idu='$idu' AND race='1'"));
  16. $myfura = $mycar['ids'];
  17. $wymdosw = $userdane['wymagane'];
  18. $wygrane = $userdane['wygrane']+1;
  19. $przegrane = $userdane['przegrane']+1;
  20. $wymagane = $userdane['wygrane']*25+25;
  21. $kasa = $userdane['kasa'];
  22. $wymaganeup = $wymdosw*3;
  23. $lvl = $userdane['lvl'];
  24. $dodkasa = 150*$lvl;
  25. $kasaup = $dodkasa+$kasa;
  26. $dodosw = 15*$lvl;
  27. $doswup = $dodosw+$userdane['dosw'];
  28. $lvlup = $lvl+1;
  29. $danesamochodu = mysql_fetch_array(mysql_query("SELECT * FROM samochody WHERE id='$myfura'"));
  30. if ($suma == 0) {
  31. $wyscigi = 1;
  32. } else {
  33. $wyscigi = $suma;
  34. }
  35.  
  36.  
  37. $mojeosiagi = $danesamochodu['km']+$danesamochodu['vmax']+$mycar['ulepszeniap']+$mycar['ulepszenias'];
  38.  
  39.  
  40. if ($_POST['wyscig']) {
  41. if ($mojeosiagi > $wymagane) {
  42. echo '<div class="s1"><div class="s2"><div class="s3">';
  43. echo '<div class="ng">TRWA WYŚCIG!</div><br />';
  44. echo '<center><img src="images/win.gif" /></center>';//wygrywamy
  45. echo '</div></div></div>';
  46. $wynik = mysql_query("UPDATE userdane SET kasa='$kasaup', wygrane='$wygrane', dosw='$doswup' WHERE iduser='$idu'");
  47. if ($doswup > $wymdosw){//lvlup
  48. $wynik = mysql_query("UPDATE userdane SET lvl='$lvlup', dosw='0', wymagane='$wymaganeup' WHERE iduser='$idu'");
  49. }
  50.  
  51. header( "refresh:10;url=index.php" );
  52. }
  53. if ($mojeosiagi < $wymagane) {//przegrywamy
  54. echo '<div class="s1"><div class="s2"><div class="s3">';
  55. echo '<div class="ng">TRWA WYŚCIG!</div><br />';
  56. echo '<center><img src="images/lose.gif" /></center>';
  57. echo '</div></div></div>';
  58. $wynik = mysql_query("UPDATE userdane SET przegrane='$przegrane' WHERE iduser='$idu'");
  59. header( "refresh:10;url=index.php" );
  60. }
  61. if ($mojeosiagi == $wymagane) {// jezeli jest remis
  62. $rand=rand(1,2);
  63. if ($rand == 1){// losowanie liczby czyli losowanie czy wygra czy nie
  64. echo '<div class="s1"><div class="s2"><div class="s3">';
  65. echo '<div class="ng">TRWA WYŚCIG!</div><br />';
  66. echo '<center><img src="images/win.gif" /></center>';//remis wygrywa
  67. echo '</div></div></div>';
  68. $wynik = mysql_query("UPDATE userdane SET kasa='$kasaup', wygrane='$wygrane', dosw='$doswup' WHERE iduser='$idu'");
  69. if ($doswup > $wymdosw){//lvlup
  70. $wynik = mysql_query("UPDATE userdane SET lvl='$lvlup', dosw='0', wymagane='$wymaganeup' WHERE iduser='$idu'");
  71. }
  72. header( "refresh:10;url=index.php" );
  73. } else {
  74. echo '<div class="s1"><div class="s2"><div class="s3">';
  75. echo '<div class="ng">TRWA WYŚCIG!</div><br />';
  76. echo '<center><img src="images/lose.gif" /></center>'; //remis przegrywa
  77. echo '</div></div></div>';
  78. $wynik = mysql_query("UPDATE userdane SET przegrane='$przegrane' WHERE iduser='$idu'");
  79. header( "refresh:10;url=index.php" );
  80. }
  81. }
  82. } else {
  83.  
  84. // dalsze wyzwanie
  85. echo '<div class="s1"><div class="s2"><div class="s3">';
  86. echo '<div class="ng">Podejmij wyzwanie!</div>';
  87. if ($mojeosiagi == 0) {
  88. echo '<center><font color="red">Nie masz samochodu na wyścig!!</font></center>';
  89. } else {
  90. echo '<center>Twoje osiągi: '. $mojeosiagi .' <br />';
  91. echo 'Wymagane: '. $wymagane .'<br />';
  92.  
  93. echo '<form class="form" action="race.php" method="post">';
  94. echo '<input type="hidden" name="wyscig" value="TRUE" />';
  95. echo '<input type="submit" style="border:0px; background:0px; color:#CC0000; font-weight:bold;" value="Ścigaj sie!! " onClick="timedMsg()" />';
  96. echo '</form>';
  97. echo '</center>';
  98. }
  99. echo '</div></div></div>';
  100. }
  101. //jeżeli zalogowany
  102. } else {
  103. //jezeli niezalogowany
  104. header ("Location: index.php");
  105. }

I nie działa nie wiem czemu sad.gif Gdzie zrobiłem błąd ?
nospor
No ale timedMsg() dałeś na onlclick w submit. Kod się wykonuje ale leci też submit, wiec zanim minie 10 sekund to strona już sie przeladuje smile.gif
Johnas
a da się to jakoś wstawić w skrypt tak jak zapytanie MySQL? aby nie trzeba było nic klikać? Chodzi mi o coś takiego że dam to w skrypt i samo sie wykona. jak dałem to na czysto w skrypt to wywalił mi błąd w lini php. I czy da się aby wyświetlało zmienne w okienku $kasaup i $doswup ? Nie znam JS sad.gif uczę się na razie PHP tak abym mógł już pisać dobre strony bez pomocy... Nauczyłem się już co nieco. I sorka za zawracanie głowy sad.gif

dobra udało mi sie zrobić wyświetlanie automatyczne ale nie wiem teraz co zrobić aby były wyświetlane zmienne php sad.gif pomoże ktoś?

Dobra rozkiełznałem winksmiley.jpg Jest już git yahoo.gif
Spirit86
ustaw sobie, tak:


skorzystaj z jquery np.
http://api.jquery.com/jQuery.ajax/

  1. <script type="text/javascript">
  2. var t=setTimeout("WyslijCostam()",10000); //co 16,67 min od odświeżenia wykonuje połączenie z plikiem wykonywującym jakieś polecenie na serwerze
  3.  
  4. function WyslijCostam(){
  5. $.ajax({
  6. url: 'ajax/test.html',
  7. success: function(data) {
  8. $('.result').html(data);
  9. alert('Wygrałeś cycki z języczkiem.');
  10. }
  11. });
  12. }
  13. </head>
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.