![]() |
![]() ![]() |
![]() |
--Odoakr-- |
![]()
Post
#1
|
Goście ![]() |
Witajcie!
Mam pytanie w sam raz do piaskownicy:) Czytam sobie kursy PHP i nie mogę doszukać się rozwiązania mojego problemu... Mam formularz, do którego user wpisuje dane, aby je zapisać w bazie danych... Formularz ma parametr np action="skrypt.php" do skryptu, który wykonuje zadanie. Jednak po wykonaniu zadania zostajemy na przykładowadomena.pl/skrypt.php - jak zrobić, aby po wykonaniu skryptu user automatycznie wrócił na stronę formularza, lub na jakąkolwiek inną. Denerwuje mnie to, że przy klikaniu "odśwież stronę" wpisują się te same dane do bazy. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 273 Pomógł: 21 Dołączył: 28.11.2010 Ostrzeżenie: (10%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 54 Pomógł: 0 Dołączył: 5.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
ok dzięki, ale w którym miejscu skryptu to dodać(IMG:style_emoticons/default/questionmark.gif) ?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
To co kolega podal wyzej dajesz w pliku skrypt.php na samym poczatku, zanim cokolwiek wyswietlisz w html. Mozesz tez uzyc samego htmla, bez php poprzez wstawienie miedzy <head> a </head> tego:
gdzie x oznacza ilosc sekund po ktorych nastapi automatyczne przekierowanie. Jednak znacznie lepiej bedzie skopiowac cala zawartosc pliku skrypt.php do pliku ktory chcesz wywolac ostatecznie, czyli pewnie ten z formularzem. Wrzuc to do warunku: Kod ten oznacza ze jesli istnieje zmienna $_POST['zapisz'] czyli jesli kliknieto w ten przycisk to wykona sie kod z pliku skrypt.php. Ten post edytował sadistic_son 7.01.2011, 00:55:00 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 376 Pomógł: 47 Dołączył: 23.08.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
@sadistic_son: Twój pomysł uważam za dobry, ale (nie wiem czy dobrze pamiętam) po odświeżeniu strony wyświetli się komunikat w przeglądarce o ponownym wysłaniu informacji, który - jeśli go potwierdzimy - spowoduje dodanie nowego rekordu (w rezultacie czego będą 2 koło siebie). A może lepiej skorzystać z header i zrobić w 100% odporność na odświeżanie?
Aha, jeśli chodzi o header. Zakładam, że kolega @Odoakr ma plik skrypt.php wolny od jakiejkolwiek sekcji head/body... może lepiej w takim wypadku dać header na końcu? Przecież w skrypt.php nie są wyświetlane żadne informacje, więc strona pozostaje czysta (tak przypuszczam). Wtedy wykona się skrypt i automatycznie przekieruje na poprzednią stronę, tj. index.php (IMG:style_emoticons/default/smile.gif) Ten post edytował Kaloryfer 7.01.2011, 01:00:44 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
header jest rozwiazaniem duzo lepszym, niz meta w html.
Dodam, ze aby uniknac problemow przy pozniejszym rozwoju skryptu po header() nalezy dac exit(), bo samo header() poza ustawieniem naglowkow nie konczywykonywania skryptu |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 54 Pomógł: 0 Dołączył: 5.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za odpowiedzi!
wrzucę to wszystko do jednego skryptu i będzie po problemie. Mam jednak problem z tym headerem... po wykonaniu kodu pokazuje mi się ostrzeżenie:
Czytałem o tym ostrzeżeniu, ale nie wiem gdzie jest błąd. tu jest kod
Ten post edytował Odoakr 7.01.2011, 12:38:16 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 376 Pomógł: 47 Dołączył: 23.08.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
header masz w złym miejscu: musisz tak rozplanować sobie skrypt, by przed header nie wyświetlało się na stronie absolutnie NIC! Czasem nawet białe znaki bywają problemowe dla header. Nie możesz po prostu dać każdej operacji w osobnym pliku, a formularze i inne bajery wyświetlać w głównej części skryptu? Tak jak napisałeś na samym początku...
Ten post edytował Kaloryfer 9.01.2011, 23:41:20 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 10:42 |