![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 16.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam Was,
borykam się już dluższą chwilę nad zapisaniem zmiennych do pliku. Chodzi o to, ze w formularzu definiuję liczbę osób które chcemy zaprosić. Następnie pętlą "for" generuję tyle "input type=text" imie i nazwisko, ile wpisaliśmy we wcześniejszym formularzu. Wszystko gra, zmienne mają po kolei imie1=...&nazwisko1=...&imie2=...&nazwisko2=...& itd itd. W skrypcie zapisu zrobiłem rownież pętle ale coś mi nie działa. Kombinowalem na wszelkie sposoby i nie moge. Poniżej skrypt zapisu.
Co robię źle? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
A co chcesz osiągnać?
Nie lepiej przesyłać takie dane metodą $_POST. A dodawać kolejne wpisy poprzez użycie tablicy, formularz wyglądał by w ten sposób ( oczywiście jak tam chcesz, generowany dynamicznie ).
Od strony php, dodajesz te zmienne poprzez użycie pętli:
Pisane z palca. Kilka uwag:
Pozdrawiam. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 561 Pomógł: 75 Dołączył: 19.08.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
A jaki efekt przynosi Ci w działaniu ten skrypt?
************************************* Zdecydowane tak do 2. uwagi końcowej Strife'a. Wielokrotne wywołanie funkcji fwrite() zmusza do wielokrotnego zapisu do pliku. W przypadku, gdy wyślesz wszystko raz przez jedną zmienną, plik zostanie nadpisany tylko raz. To zwiększy prędkość wykonania skryptu i zmniejszy prawdopodobieństwo błędu (to przy jednym zapisie w pliku jest mniejszy, niż np. przy kilkuset zapisach). Ten post edytował Grzyw 7.05.2007, 23:46:06 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 16.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Robię GET'em, bo chcę widzieć zmienne, później przerobię to na POST.
O to chodzi, że nie wiem jak duża ma być tablica. Definiowanie na sztywno ilości input'ów w tablicy nie jest w tym przypadku odpowiednim rozwiązaniem. Za każdym razem będzie to różna ilość. W $_SESSION['ilosc'] zapisana jest jakaś liczba np. 4, która to we wcześniejszym formularzu "ilegosci.html" jest podawana.
Skrypt ten wygeneruje 4 pola imie i 4 pola nazwisko. Powstaną zmienne $imie1, $imie2, ..., $imie4 oraz $nazwisko1, ..., $nazwisko4. Zmienne są przesyłane bo widzę je w pasku adresu. Skrypt zapisz.php ma te zmienne zapisać do pliku, i tutaj tkwi problem. Stąd wzięła się pętla którą chciałem odpowiednie zmienne przechwycić i zapisać. *Grzyw efekt zapisu jest następujący ;;#;;#;;#;;# |
|
|
![]()
Post
#5
|
|
Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
Ja bym to rozwiązał inaczej, pierwsza strona na której wybierasz ilość gości, może być trzymana w sesji. Następnie przechodząc do następnej strony, na podstawie wartości zapisanej w sesji, generowane są formularze, i tutaj nie rozumiem, czemu nie chcesz użyć tablic, po to one zostały przecież stworzone. Przykład poglądowy:
PS. Spróbuj zamiast
dać:
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 16.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 00:18 |