Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak? Treść formularza do txt
Forum PHP.pl > Forum > Przedszkole
Wykrywacz
Mam pytanie czy wie może ktoś w jaki sposób, można przekonwertować treść zawartą w forlmularzu do pliku txt. Najlepiej jakby dało się to podpiąć pod funkcje POST, aby wysyłał treść ale zapisaną w txt.
nospor
przekonwertowac? Masz poprostu zapisac to do pliku.
fopen, fwrite, fclose.
No chyba ze cie źle zrozumiałem
Wykrywacz
Zrozumiałeś dobrze:).
Jesteś w stanie mi powiedzieć jak wygląda dalej instrukcja po fopen/fwrite/fclose.

Nie potrafie tego znaleźć w manualu.
nospor
Sorki za glupie pytanie, ale czego nie mozesz znaleźć w manuala? Masz tam jak wol napisane jak zzapisac do pliku
http://pl.php.net/manual/pl/function.fwrite.php

tam zapisują jakąś zmienną. ty zamiast zmiennej masz zapisac swoj formularz. Do kazdego pola formularza dobierasz sie z $_POST, czyli np $_POST['nazwa pola']
mike
Balansujesz na krawędzi lenistwa.
W opisach funkcji fopen(), fwrite(), fclose() są przykłady orazujące jak zapisywać do plików. (ew. file_put_contents)
W tym opisie: Zmienne spoza php masz przykłady jak pobrać dane z formularza.

Wystarczy złożyć to do kupy.

Lenistwo, czekanie na gotowce i brak własnej inicjatywy przy szukaniu rozwiązań jest bardzo karane na forum.php.pl

Przenoszę na php Pocz.
Wykrywacz
Pozostaje mi podziękować i przeprosić za lenistwo.
mdnm
elo mam taki problem biggrin.gif znalazlem w necie juz taki skrypt ktory sluzy do zapisu danych z formularza do pliku. Na krasnalu dzialalo wszystko pieknie ale na moim serwie nie dziala globale sa chyba wylaczone sad.gif sprawdzilem inny skrypt tylko ze potrzebowalbym go miec podzielonego na 2 czesci formularz.php i zapis.php ale nie umiem sobie z tym poradzic bo ciagle mi jakies errory wyskakuja mozecie pomoc ?

oto kod:

---- jakiś kod -----


----edit----
Tu był kod bez tagów bbCode.
Wywaliłem, bo autor zamieścił go w poście poniżej.
~mike_mech
nospor
1) uzywaj bbcode
2) skoro ci errory wysakuja, to czemu nam ich nie pokazesz?
mdnm
oto kod php tego co wyzej napsialem
  1. <?php 
  2. /********************************************* 
  3. * plik formularz.php 
  4. *********************************************/ 
  5.  
  6. $txt = trim($_POST['txt']); 
  7.  
  8. if(empty($txt) ) { 
  9.  
  10. // prosty formularz zawierający dwa pola 
  11. echo '<form action="" method="post"> 
  12. <textarea name="txt" style="width: 200px; height: 100px;"> 
  13. </textarea><br /> 
  14. <input type="submit" value="Zapisz" /> 
  15. </form>'; 
  16. } 
  17. else { 
  18.  
  19. // dane pochodzące z formularza 
  20. $dane = $txt; 
  21. // przypisanie zmniennej $file nazwy pliku 
  22. $file = "plik.txt"; 
  23. // uchwyt pliku, otwarcie do dopisania 
  24. $fp = fopen($file, "a"); 
  25. // blokada pliku do zapisu 
  26. flock($fp, 2); 
  27. // zapisanie danych do pliku 
  28. fwrite($fp, $dane); 
  29. // odblokowanie pliku 
  30. flock($fp, 3); 
  31. // zamknięcie pliku 
  32. fclose($fp); 
  33.  
  34. echo "Dane zostały zapisane!<br />"; 
  35. } 
  36.  
  37. ?> 


podzielilem to tak:
formularz.php
  1. <form action="zapis.php" method="post">
  2. <textarea name="txt" style="width: 200px; height: 100px;">
  3. </textarea><br />
  4. <input type="submit" value="Zapisz" />
  5. </form>


zapis.php
  1. <?php 
  2. $dane = $txt; 
  3. // przypisanie zmniennej $file nazwy pliku 
  4. $file = "plik.txt"; 
  5. // uchwyt pliku, otwarcie do dopisania 
  6. $fp = fopen($file, "a"); 
  7. // blokada pliku do zapisu 
  8. flock($fp, 2); 
  9. // zapisanie danych do pliku 
  10. fwrite($fp, $dane); 
  11. // odblokowanie pliku 
  12. flock($fp, 3); 
  13. // zamkni&ecirc;cie pliku 
  14. fclose($fp); 
  15. ?>


Teraz niby nie wyskakuja zadne bledy ale nie zapisuje sie nic do plik.txt ciagle jest pusty
Neojawor
1) Jeśli Twój php > php 4.0.1, to linia
  1. <?php
  2. flock($fp, 2);
  3. ?>

Ci nie zadziała (może w krasnalu był starszy php)

2) czy katalog, w którym umieszczony jest ten skrypt ma atrybuty przynajmniej 707 ?
Skrypt stworzy domyślnie plik w tym samym katalogu, a jeśli atrybuty to 705, to Ci nie zapisze
3) Skoro podzieliłeś plik na 2 to musisz zmienić z:
  1. <?php
  2. $dane = $txt;
  3. ?>

na:
  1. <?php
  2. $dane = $_POST['txt'] 
  3. ?>


EDIT:
Jakie błędy wywalały Ci jak miałeś to w jednym pliku?
mdnm
no ok dalem taki kod do zapis.php i teraz juz wszystko dziala jak nalezy:
  1. <?php
  2. $dane = $_POST['txt'] 
  3. ?>
  4. <?php 
  5. // przypisanie zmniennej $file nazwy pliku 
  6. $file = "plik.txt"; 
  7. // uchwyt pliku, otwarcie do dopisania 
  8. $fp = fopen($file, "w"); 
  9. // blokada pliku do zapisu 
  10. flock($fp, 2); 
  11. // zapisanie danych do pliku 
  12. fwrite($fp, $dane); 
  13. // odblokowanie pliku 
  14. flock($fp, 3); 
  15. // zamkni&ecirc;cie pliku 
  16. fclose($fp); 
  17. ?>


mam jeszcze jedno pytanie czy da sie w formularzu tekstowym otworzyc zawartosc pliku ?
strife
Cytat(mdnm @ 2005-12-09 00:23:42)
mam jeszcze jedno pytanie czy da sie w formularzu tekstowym otworzyc zawartosc pliku ?

RTFM
file_get_contents" title="Zobacz w manualu php" target="_manual, fread" title="Zobacz w manualu php" target="_manual i pochodne... więcej w manualu... No i jeszcze w tym Twoim skrypcie masz błąd, brakuje tutaj średnika:
  1. <?php
  2. $dane = $_POST['txt'];
  3. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.