Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [PHP] gdzie leży błąd?, if...
shpaque
post 11.02.2014, 09:24:51
Post #1





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


Witam serdecznie, mam mały błąd, którego nie potrafię namierzyć. Chodzi mi konkretnie o warunek IF, jeśli jest true (tam gdzie wyświetla alerta) to alert mi się wyświetla, ale chwilę jeszcze przeglądarka czyta czyta i staje na białym polu zamiast zatrzymać skrypt tak, żeby można było po kliknięciu OK w alercie wrócić do stanu sprzed wciśnięcia submita...

  1. <?
  2. if ($_SERVER['REQUEST_METHOD'] == 'POST')
  3. {
  4. $action = isset($_POST['action']) ? $_POST['action'] : '';
  5. $success_page = './potwierdzenie.php';
  6. $model = $_POST['model'];
  7. $wielkosc = $_POST['wielkosc'];
  8. $price = $_POST['price'];
  9.  
  10. if ($action == 'zamow')
  11. {
  12. $ipaddress = $_SERVER['REMOTE_ADDR'];
  13. $logtime = date("Y-m-d");
  14.  
  15. if ($price == "<h2>BRAK AUTOMATU - wybierz inny model</h2>")
  16. {
  17. echo "<script>alert('Brak automatu $model dla rozmiaru $wielkosc')</script>";
  18. break;
  19. }
  20.  
  21. else
  22. {
  23. $_SESSION['kolor'] = $_POST['kolor'];
  24. $_SESSION['wielkosc'] = $_POST['wielkosc'];
  25. $_SESSION['model'] = $_POST['model'];
  26. $_SESSION['cena'] = $price;
  27. $_SESSION['odbior'] = $_POST['odbior'];
  28. $_SESSION['platnosc'] = $_POST['platnosc'];
  29.  
  30. $_SESSION['k-imie'] = $_POST['k-imie'];
  31. $_SESSION['k-tel'] = $_POST['k-tel'];
  32. $_SESSION['k-email'] = $_POST['k-email'];
  33.  
  34. $_SESSION['preview'] = $_POST['preview'];
  35. $_SESSION['preview1b'] = $_POST['preview1b'];
  36. $_SESSION['preview2'] = $_POST['preview2'];
  37. $_SESSION['preview3'] = $_POST['preview3'];
  38. $_SESSION['preview4'] = $_POST['preview4'];
  39. $_SESSION['preview5'] = $_POST['preview5'];
  40. $_SESSION['preview6'] = $_POST['preview6'];
  41. $_SESSION['preview7'] = $_POST['preview7'];
  42.  
  43. header('Location: '.$success_page);
  44. }
  45. }
  46. }
  47. ?>
Go to the top of the page
+Quote Post
semafor1985
post 11.02.2014, 09:53:11
Post #2





Grupa: Zarejestrowani
Postów: 61
Pomógł: 3
Dołączył: 18.10.2012
Skąd: Zagłębie Dąbrowskie

Ostrzeżenie: (0%)
-----


nie rozumiem, chcesz wrócić do stanu sprzed wciśnięcia 'submit' po tym jak wysyłasz formularz i sprawdzasz tablice POST?
Go to the top of the page
+Quote Post
Damonsson
post 11.02.2014, 09:53:25
Post #3





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Ja tam nic nie widzę za alertem, żeby się miało wyświetlać, więc co byś chciał mieć zamiast białej strony? Kosmitów?
Go to the top of the page
+Quote Post
shpaque
post 11.02.2014, 10:05:43
Post #4





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


za alertem jest break; - nie powinien on zatrzymać?

@semafor1985
co chcę zrobić? chcę, żeby skrypt się nie wykonał i zatrzymał, jeśli
  1. if ($price == "<h2>BRAK AUTOMATU - wybierz inny model</h2>")
Go to the top of the page
+Quote Post
nospor
post 11.02.2014, 10:07:38
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




przeczytaes chociaz co robi BREAK? Zajrzyj do manuala, tam to jest wyjasnione :/

A jak chcesz zatrzymac skrypt, to uzywa sie EXIT


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
shpaque
post 11.02.2014, 10:10:03
Post #6





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


jak zamienię break; na exit; - jest to samo...
Go to the top of the page
+Quote Post
semafor1985
post 11.02.2014, 10:10:12
Post #7





Grupa: Zarejestrowani
Postów: 61
Pomógł: 3
Dołączył: 18.10.2012
Skąd: Zagłębie Dąbrowskie

Ostrzeżenie: (0%)
-----


daj return. Ale i tak nie wrocisz do stanu sprzed naciśnięcia 'submit' tylko będziesz miał pustą stronę
Go to the top of the page
+Quote Post
nospor
post 11.02.2014, 10:11:08
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Sam napisales, ze chcesz przerwac skrypt. Exit to wlasnie robi. Jak chcesz cos innego, to napisz w koncu co chcesz.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
shpaque
post 11.02.2014, 10:14:10
Post #9





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


czyli jedyna opcja, to zrobić box z $error_message i w tym momencie zamiast alerta - wyświetlić komunikat na error message i zatrzymać? Nie da się z wyskakującym okienkiem?

Cytat(nospor @ 11.02.2014, 10:11:08 ) *
Sam napisales, ze chcesz przerwac skrypt. Exit to wlasnie robi. Jak chcesz cos innego, to napisz w koncu co chcesz.

no chcę, ale exit go nie zatrzymuje, tylko przez 2 sek. jeszcze po wyświetleniu alerta strona "coś robi" i pojawia się pusta strona - jakby odświeżona, ale biała - czysta...
Go to the top of the page
+Quote Post
semafor1985
post 11.02.2014, 10:16:41
Post #10





Grupa: Zarejestrowani
Postów: 61
Pomógł: 3
Dołączył: 18.10.2012
Skąd: Zagłębie Dąbrowskie

Ostrzeżenie: (0%)
-----


ale po klikcięciu 'ok' w alercie strona nie jest odświeżana.
nie wiem czy dobrze Cie rozumiem ale chyba chcesz po spełnieniu warunku if i wyświetlenia komunikatu wyświetlić jeszcze raz formularz
wiec po alercie wstaw ten sam formularz

Ten post edytował semafor1985 11.02.2014, 10:17:43
Go to the top of the page
+Quote Post
nospor
post 11.02.2014, 10:17:18
Post #11





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Moze wczesniej dales jakies headery przekierowujace. Skad mamy wiedziec co masz wczesniej....


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
shpaque
post 11.02.2014, 10:22:00
Post #12





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


to jest początek strony - nie ma headerów przekierowujących. Jedyny jest ale dalej, kiedy skrypt puści dalej (czyli gdzie sesja się otwiera)

może akcja formularza samego powinna być inna?:
  1. <form name="zamow" method="post" action="<?php echo basename(__FILE__); ?>" accept-charset="UTF-8" id="form">
Go to the top of the page
+Quote Post
nospor
post 11.02.2014, 10:52:24
Post #13





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Podaj kroki, jakie nalezy zrobic na Twojej stronie by dojsc do sytuacji o ktorej mowisz.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
shpaque
post 11.02.2014, 13:49:39
Post #14





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


wystarczy zostawić tak jak jest (czyli zeby na dole zamiast ceny byl komunikat) wypelnic byle jak dane kontaktowe i zaakceptowac regulamin. teraz dalem bez exita, wygląda to tak:

  1. if ($action == 'zamow')
  2. {
  3. if ($price == "<h2>BRAK AUTOMATU - wybierz inny model</h2>")
  4. {
  5. echo "<script>alert('Brak automatu $model dla rozmiaru $wielkosc')</script>";
  6. }
  7.  
  8. else
  9. {
  10. $_SESSION['kolor'] = $_POST['kolor'];
  11. $_SESSION['wielkosc'] = $wielkosc;
  12. $_SESSION['model'] = $model;
  13. $_SESSION['cena'] = $price;
  14. $_SESSION['


i po alercie strona jakby się przeladowuje - ale niestety pola są puste...
Go to the top of the page
+Quote Post
markonix
post 11.02.2014, 13:56:14
Post #15





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


  1. $price == "<h2>BRAK AUTOMATU - wybierz inny model</h2>"

Co to w ogóle ze dziwaczny warunek.
"Jeżeli cena jest równa HTML"? sciana.gif


--------------------
Go to the top of the page
+Quote Post
shpaque
post 11.02.2014, 14:01:45
Post #16





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


Cytat(markonix @ 11.02.2014, 13:56:14 ) *
  1. $price == "<h2>BRAK AUTOMATU - wybierz inny model</h2>"

Co to w ogóle ze dziwaczny warunek.
"Jeżeli cena jest równa HTML"? sciana.gif

Dziwny, nie dziwny - waliduje - działa bezbłędnie... Więc o co chodzi?
Go to the top of the page
+Quote Post
nospor
post 11.02.2014, 14:01:55
Post #17





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@markonix bo autor takie dane wysyla postem smile.gif

Cytat
i po alercie strona jakby się przeladowuje - ale niestety pola są puste...
No a wypelniasz pola danymi wyslanymi formem? Jak nie to nie ma co sie dziwic ze wszystko puste


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
shpaque
post 11.02.2014, 14:04:06
Post #18





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


Cytat(nospor @ 11.02.2014, 14:01:55 ) *
@markonix bo autor takie dane wysyla postem smile.gif

No a wypelniasz pola danymi wyslanymi formem? Jak nie to nie ma co sie dziwic ze wszystko puste

wejdź i spróbuj wysłać niewypełniony formularz...
Go to the top of the page
+Quote Post
nospor
post 11.02.2014, 14:06:18
Post #19





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No robilem to i widze. Klikam ok, i pojaia sie na nowo formularz.
Jesli nie wypelnisz go danymi, to bedzie jaki jest - logiczne.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
shpaque
post 11.02.2014, 14:08:26
Post #20





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


a dane które MUSZĄ być wypełnione? (dane kontaktowe i check box regulaminu)? Też znikają, mimo że po alercie nic nie ma - a mi strona jakby się przeładowuje a pola w formularzu wracają do default...
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.07.2025 - 12:22