[PHP] Zapis danych pochodzących z formularza Krzysztof Szypulski - Piątek, 09 września 2005 08:31:57
Nawiązując do porady Zapis danych do pliku tekstowego pokaże jak odebrać dane z formularza i jak je potem wyświetlić na stronie. Kod formularza i skryptu, który odbierze i zapisze dane do pliku txt.
// wczytanie zawartości pliku do tablicy $file = file("baza.txt"); // przechodzimy przez tablicę za pomocą pętli foreach foreach($file as $value) { // rozbijamy poszczególne linie na części $exp = explode("`",$value); // wyświetlamy rozbity tekst echo $exp[0]."<br />".$exp[1]."<hr />"; }
?>
Musimy także pamietać, aby plik baza.txt maił odpowiednie prawa do zapisu (chmod 666).
Mx-SySd
(62.21.11.xxx) Wtorek, 13 września 2005 19:21:19
A jeśli chciałbym żeby dane z formularza wklejały się do utworzonych przez skrypt komórek tabeli??
Chodzi mi o to żeby skrypt tworzył komórki tabeli do których będzie wklejał dane z formularza
Właściwie czy coś takiego się da zrobić?????
Od administratora:
Nie wiem czy dobrze Cię zrozumiałem. Ja bym zapisał to do pliku tak jak w tej poradzie i wyświetliłbym w odpowiednich polach tabelki.
Anonimek
(192.168.0.xxx) Czwartek, 20 października 2005 21:01:06
Witam.
Wszystko dziala swietnie ale gdy w textarea damy enter to niestety wszystko sie sypie :/ Jak Zamienic entery na <br> lub je usunac? Prosze pokazac na tym przykladzie. Z gory dziekuje i pozdrawiam.
Od administratora:
// usuwamy enter $pole2 = str_replace("\n","",$pole2);
// zamieniamy go na <br> $pole2 = str_replace("\n","<br>",$pole2);
Yaarno
(172.20.9.xxx) Niedziela, 30 października 2005 14:14:23
Ja mam pytanie troche z innej parafii. Co zrobić żeby wyświetlić zmienną na tej samej stronie [po wysłaniu], na której znajduje sie tenże formularz?
Chodzi mi mniej wiecej o cos takiego:
Mamy formularz z opcjami wyboru [tzw. lista rozwijalna], klikamy wyslij i pod przyciskiem submit ukazuje nam sie tekst przypisany do tej danej wybranej zmiennej.
Mam nadzieje że nie skomplikowalem tego za bardzo...
majos
(83.22.73.xxx) Środa, 23 listopada 2005 15:43:35
Dzięki za skrypt, działa świetnie. Ale mam jedno pytanie. Gdzie i co wstawić, żeby w pliku baza.txt za kazdym razem gdy ktos wysyla formularz dopisywalo w nowej lini.
Od administratora:
Zamiast w daj a w fopen().
majos
(83.22.73.xxx) Środa, 23 listopada 2005 15:53:21
prosze jeszcze napisać pod którą linijką powinienem wstawić "//usuwamy enter...."
Od administratora:
To zależy do systemu. Windows: $tekst = str_replace("\r\n", " ",$tekst); Linux: $tekst = str_replace("\n", " ",$tekst);
dzidol
(82.139.7.xxx) Czwartek, 29 grudnia 2005 21:46:04
Jak zrobić, aby wyczyścić plik baza.txt, zanim wprowadzimy dane z formularza
Od administratora:
Zmień uchwyt pliku: // uchwyt pliku, otwarcie do dopisania $fp = fopen($file, "w");
blade
(195.214.216.xxx) Czwartek, 09 lutego 2006 00:07:23
jak zedytowac ten skrypt zeby mozna bylo tlo zmienic z bialego. wiem ze to jest pytanie nooba ale nie za bardzo sie znam na php. Bardzo prosze o pomoc ;(
Od administratora:
Skrypt umieść w sekcji body i nadaj jej odpowiedni kolor.
MoaB
(193.24.220.xxx) Sobota, 11 lutego 2006 13:05:29
Czemu enter z pierwszej linijki znika?
tzn. jesli napisze w formularzu:
---- formularz -------
aaaaaaa
bbbbbbb
------ koniec formularza ------
to mi zapisze w pliku prawidłowo, dokładnie tak jak w formularzu
jeśli napisze w formularzu:
---- formularz -------
aaaaaaa
bbbbbbb
------ koniec formularza ------
to w pliku zapisze mi samo:
aaaaaa
bbbbbb
bez spacji na samej górze
Dlaczego? I jak temu zapobiec?
chi.cygni
(83.28.57.xxx) Niedziela, 05 marca 2006 23:11:51
Bardzo interesuje mnie rozwiązanie problemu
dokładnie przedstawionego powyzej przez Yaarno.
Pozdrawiam,
BigBlast
(83.28.27.xxx) Poniedziałek, 13 marca 2006 18:28:53
Jak zrobić by zamiast 2 pól bylo 5 ? A i każde takie jak to pierwsze ...
Od administratora:
Kopiuj i wklej ;-)
KrisDEVIL
(83.18.178.xxx) Środa, 22 marca 2006 13:41:05
a jak zrobić prosty edytor do tego czyli pliczek ktory by edytowal i usuwal te wpisy mecze sie i mecze i nie moge tego zrobic! najlepiej jakby byl tez na haslo :)
Od administratora:
Zabawa z plikami to "ciężkie" zajęcie. Przykład takiego edytora masz w moim skrypcie "artykuły".
Jajko
(84.10.177.xxx) Piątek, 31 marca 2006 15:05:57
Fajny skrypt, ale mam pytanie.
Dodałem do formluarza jeszcze 5 pól. Każde pole odpowiada za inny dzień tygodnia. Chciałbym by skrypt wyświetlał się tak:
Poniedziałek: treść pola1
Wtorek: treść pola 2 itd.
Trzeba było podać treść skryptu, który zapisuje te dane.
Łukasz
(80.53.165.xxx) Wtorek, 06 czerwca 2006 22:01:44
a mi nie działa wogóle ten formularz ? nie tworzy sie wogóle plik choć przekopiowałem wszystko tak samo, założyłem to na www.frre.of.pl może to wina tego serwera ?
Od administratora:
Jeżeli jest darmowy to może tak być...
suchy
(83.31.48.xxx) Środa, 05 lipca 2006 00:03:24
A co trzeba zmienić, aby przykładowo po wstawieniu takiego kodu:
<a href="http://www.xxx.pl/" target="_blank"><img src="http://www.xxx.pl/xxx.gif"
width="100" height="30" border="0"></a>
zapisał się do baza.txt w identycznej postaci a nie :
[]
width="100" height="30" border="0">
Od administratora:
stripslashes()
r00seek
(83.25.98.xxx) Środa, 19 lipca 2006 18:33:35
jak zmienić kolor linii oddzielających poszczególne wpisy i który parametr wogóle odpowiada za te linie
Mat
(83.8.44.xxx) Wtorek, 07 listopada 2006 14:11:48
Jak zrobic nie tylko baza.txt lecz zapisuje z formularza automatycznie kolejny plik np. baza2.txt, baza3.txt, baza4.txt , baza5.txt itd... ?
Od administratora:
Trzeba by do tego jakiś licznik zrobić, aby nazwy plików się nie powtórzyły.
radmistrz2
(83.19.247.xxx) Poniedziałek, 25 grudnia 2006 16:09:29
A jeśli chciał bym dodać jeszcze kilka pól, przycisk radio i tp. to co mam dodać do kodu?
Od administratora:
Przycisk radio zachowuje się podobnie jak pole text. Więc będzie to dodatkowa zmienna, którą zapiszesz do pliku txt.
cesarr
(88.220.110.xxx) Niedziela, 07 stycznia 2007 13:18:48
Ja mam takie pytanie:
jak ma wygladac skrypt zeby na stronie podglad byly widoczne tylko dane ktore zostaly tylko w tym ostatnim momencie dodane, ale jednoczescnie zeby wszystkie dane zapisywaly sie do pliku.
// wczytanie zawartości pliku do tablicy $file = file("baza.txt"); // odwracamy kolejność tablicy $file_rev = array_reverse($file); // przechodzimy przez tablicę za pomocą pętli foreach foreach($file_rev as $value) { // rozbijamy poszczególne linie na części $exp = explode("`",$value); // wyświetlamy rozbity tekst echo $exp[0]."<br />".$exp[1]."<hr />"; // po pierwszym rekordzie zatrzymujemy break; }
?>
Brabus
(217.98.98.xxx) Sobota, 10 lutego 2007 19:13:30
A jak zrobic aby po wpisaniu linku na przykład http://google.pl
w pliku txt automatycznie zapisywało <a href"http://google.pl">
brabus
(217.98.98.xxx) Wtorek, 13 lutego 2007 22:00:59
Ok mamy formularz zapisuje do pliku ,mamy podglad ostatniego dodanego wpisu itd przydało by sie teraz usuwanie :) przypuscmy ze jest scrypt wykozystany do komentarzy i któryś nam sie nie podoba :( jak z strony przeglądarki wywalac taki post :)
Stanczyk
(83.28.53.xxx) Czwartek, 22 lutego 2007 18:10:16
Witam!
Fajny skrypcik, jako początkujący mogę się sporo nauczyć.
Zamieniłem sobie entery na be-ery i wyświetla się ładnie w jednej linii, ale w pliku zapisuje kolejne linie z formularza w kolejnych liniach w pliku.
Co zrobić żeby 3 linie z textarea zapisywały się w pliku w jednej linii po spacji?
Od administratora:
Zamień \n na spacje.
$zm = str_replace("\n"," ",$zm);
Miski
(85.14.64.xxx) Sobota, 03 marca 2007 00:24:25
Witam
Jak zrobić żeby w pliku podglad.php (wyświetlane dane umiesciłem w tabeli) nie było widać pustych wierszy w przypadku gdy, ktos w formularzu mającym np. 3 wiersze po 5 elementów typu input
lub textarea nie wpisze danych (chodzi o cały "wiersz" bez danych). Prosze o rade jak obejść te wyswietlone puste wiersze. Pozdrawiam
Rollon
(82.160.40.xxx) Sobota, 03 marca 2007 10:24:18
A ja chcialbym sie dowiedziac jak zrobic żeby zapisywalo tez automatycznie date wpisu i ja pozniej wyswietlalo, bawilem sie z tym troche ale mi nie wychodzilo?
Od administratora:
Dodajesz dodatkową zmienną do zapisu np. $data = date("Y-m-d");
unpredictable
(212.191.80.xxx) Wtorek, 17 kwietnia 2007 09:43:25
jak mozna zapisac do pliku dane z pol wyboru (select) i jesli mam grupe checkboxow, ktore sa zapisywane jako tablica?
Od administratora:
Z selecta to normalnie, a z checkboxów to musisz zapisać w postaci tablicy oddzielając rekordy za pomocą implode() i jakiegoś separatora.
Jak zrobić tak, aby zrobić "tabelę", która dodawałaby nowe rekordy, znaczy się ze mam formularz i w nim 5 pól, które wypełnia (ktoś) i chciałbym, aby aby z każdego wpisu dane były zamieszczane w tym pliku, a nie nadpisywane, czy coś...
Od administratora:
Jeżeli zastosujesz poprawny operator przy fopen() to nie będą się dane nadpisywały.
robert13
(83.11.128.xxx) Niedziela, 27 maja 2007 08:25:18
Mam problem. Jeśli do pola wpisze jakiś tekst lub tekst+liczby, to bez problemu zapisze mi go do pliku, ale jeśli w polu do pisania są same liczby to już nie. Bardzo proszę o pomoc.
Od administratora:
Przecież to nie ma znaczenia co tam wpiszesz powinno działać.
Uglum
(83.29.15.xxx) Wtorek, 29 maja 2007 16:49:09
Odczyt działa bez zarzutu, ale chciałbym żeby w formularzu były wypisane stare dane... coś koło tego:
Tylko że nie działa oczywiście, a nie wiem jak to obejść.
Chodzi mi o to, że jak będzie ktoś robił aktualizacje to żeby nie musiał na nowo wpisywać starych danych, a jedynie zmieniać.
Od administratora:
Pobierz sobie skrypt artykułów i zobacz jak tam to jest zrobione.
Piotrek
(212.76.37.xxx) Czwartek, 21 czerwca 2007 18:30:53
Co do skryptu, to jest on genialny, jednak jak zrobić, by dane zapisywane były w postaci tekstowej, tzn. gdy zapiszę w formularzy kod skryptu JS i nacisnę dodaj, to w bazie zapisuje się wersja HTML, a ja chciałbym, by pamiętana była w postaci tekstowej.
Od administratora:
Możesz jaśniej?
Piotrek
(212.76.37.xxx) Poniedziałek, 02 lipca 2007 08:19:56
No to trochę inaczej, dane są zapisane w postaci tekstowej do pliku .txt. Dane z tego pliku są pobierane i wyświetlane na stronie jako część strony i wszystkie znaczniki są traktowane jako elementy witryny (img, p, div). Więc jak zrobić, by po wprowadzeniu do formularza jakiegoś kodu JS, wyświetlał się on w postaci tekstowej, a nie wykonywalnej...
Od administratora:
Przed zapisem użyj funkcji htmlspecialchars()
HotRod
(83.238.238.xxx) Piątek, 06 lipca 2007 21:53:39
Chodzi mu prawdopodobnie o HTML special chars
Radi
(83.27.24.xxx) Czwartek, 23 sierpnia 2007 19:54:41
Może ktoś wie jak wysłać $id do POST nie mogę wartości ze zmiennej zapisać do baza.txt :(
Fragment:
Wszystkie dane z pól z formularza przechodzą do baza.txt oraz na podglond.php poza zmienną $id :(
Od administratora:
A po co to:
$id = trim($_POST['id']);
Przecież $id generujesz w tym miejscu. A może to się dzieje w formularzu?
Jeżeli tak to z formularza wyślij to w polu ukrytym (hidden).
Łukasz
(83.5.131.xxx) Niedziela, 26 sierpnia 2007 23:05:13
Ja chce stworzyc formularz, w ktorym osoby odwiedziajace strone beda mogly wybrac cos z listy wpisac swoje dane osobowe i caly ten formularz zapisuje sie w formie pliku tekstowego ktory jest odrazu wysylany na konkretny mail.. Byłbym wdzieczny za jakakolwiek pomoc bo jestem dopiero poczatkujacym w te klocki Pozdrawiam
GP
(87.205.88.xxx) Wtorek, 28 sierpnia 2007 00:02:49
Jak powinien wyglądać skrypt który będzie zawsze dodawał na końcu pliku wcześniej zdefiniowany text ??
wojmar151
(87.206.82.xxx) Środa, 05 września 2007 11:44:09
Zrobiłem sobie wszystko tak jak jest napisane, ale mam jeden problem... kiedy dodaję linki np: <a href="edit.php">Edytuj ten plik</a>
To automatycznie zapisuje się tak: <a href="edit.php">Edytuj ten plik</a> i wtedy plik nie może zostać odczytany... jak temu zapobiec?
Od administratora:
Zmień edytor ;-)
Ze względu na brak czasu na moderowanie komentarzy, zawieszam możliowść ich dodawania. Masz pytanie, wykorzystaj formularz "Zadaj pytanie".
Publikowane komentarze są prywatnymi opiniami użytkowników serwisu. Serwis nie ponosi odpowiedzialności za treść opinii.
Zadaj pytanie
Nie znalazłeś(aś) odpowiedzi na nurtujące Cię pytanie? Zapytaj mnie, może będę umiał Ci pomóc.