![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 23.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Jestem nowy na forum i dopiero raczkuje w php. Mam taki problem jak w temacie, męczę się z tym już od paru dni i nie wiem jak to rozgryźć (IMG:style_emoticons/default/sciana.gif)
Przejdę może do konkretów, do zapisywania danych z formularza wykorzystałem skrypt z artkułu "Formularz i stronicowanie - pamiętanie stanu" nospora LINK po przekształceniu pod siebie mam taki kod:
...Formularz jest walidowany, a po przejściu walidacji prawidłowo dalsza część skryptu wysyła mail z serwera
i tu właśnie chciałbym żeby ta zmienna przyjęła wartość 0 i odniosła się do początku pliku, gdzie mamy if (!empty($_POST['wyslij']) && $jakas_zmienna==1). Żeby nie został spełniony warunek! Poproszę o jakieś sugestie jak to rozwiązać, z czego skorzystać i na czym się skupić. Może ktoś ma zupełnie jakiś inny pomysł na rozwiązanie problemu. Będę wdzięczny za jakąkolwiek pomoc. Ten post edytował Rafalll1984 29.10.2009, 11:43:06 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 23.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Widzę Thek, że rozumiemy się (IMG:style_emoticons/default/smile.gif)
Nie widziałem tego w wymienionym kodzie z linku, ale powinieneś to rozwiązać tak, że w momencie gdy formularz zostaje przetworzony bez błędów niszczysz sesję i tylko wtedy. Dzięki temu jeśli nastąpił błąd, to będzie ona istnieć. Tylko prawidłowe przetworzenie danych sprawi, że ulegną one zniszczeniu. Dlatego nospor dobrze Ci radzi, tyle że to Ty musisz już wiedzieć gdzie w Twoim przerobionym kodzie możesz sobie na unset pozwolić. A jak już mówiłem... Robisz to dopiero po prawidłowym przebiegu całej walidacji, wysłaniu do bazy czy co tam jeszcze chcesz zrobić (IMG:style_emoticons/default/smile.gif) No i ja dokładnie idę tym "tropem", od początku szedłem (IMG:style_emoticons/default/smile.gif) u mnie właśnie po przejściu prawidłowo wszystkich warunków (Walidacja) następuje, wysłanie maila ( z serwera). Więc myślę, że to jest ten moment o który nam chodzi. A przedstawia się on w chodzie tak No i może to i działa ale po wysłaniu wiadomości strona przeładowywuje się. Ja to tak rozumie, nie wiem czy słusznie. Zaznaczam, że formularz posiada <form id="kontakt" method="post" action="<?=$PHP_SELF; ?>"> a pierwsze linijki kodu to
i nie powstaje w tym czasie na nowo $_SESSION['formularz'] (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/snitch.gif) A co do tego co pytałeś to, według twoich zaleceń próbowałem na dwa sposoby: z pominięciem zmiennej $dane_z_form <input type="text" id="imie" name="imieinazwisko" size="20" maxlength="30" value="<?php echo $_SESSION['formularz']['imieinazwisko']; ?>"/> i nią <input type="text" id="imie" name="imieinazwisko" size="20" maxlength="30" value="<?php echo $dane_z_form['imieinazwisko'];?>"/> Chciałem jeszcze zaznaczy, nie wiem czy to coś pomoże ale mój formularz ma schemat
ewentualnie Thek mógłbym Ci wysłać na pw linka do mojego formularza testowego (IMG:style_emoticons/default/winksmiley.jpg) Ten post edytował Rafalll1984 29.10.2009, 14:34:37 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 05:11 |