Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zapisywanie formularza do pliku
glowa500
post 30.05.2009, 00:39:52
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 30.05.2009

Ostrzeżenie: (0%)
-----


Witam, generalnie jestem zielony jeśli chodzi o sprawy związane z PHP i potrzebuje pomocy. Piszę pewien program i potrzebne mi pobranie informacji z formularza który wygenerowałem sobie z mojej aplikacji. Problem w tym że nie wiem jak przekazać informacje z formularza do pliku .txt. W sieci znalazłem masę rozwiązań, ale żadne jak na razie nie działa. Może robię coś nie tak, w każdym razie prosił bym o rychłą pomoc bo straciłem już 2 dni smile.gif.

Otóż co robię:
1.Tworzę plik formularza

  1. <html><head><title>Ankieta</title><meta http-equiv='Content-type' content='text/html; charset=utf-8' /></head><body><form enctype='text/plain' action='plik.php' method='post'><FIELDSET><LEGEND><STRONG>Grupa Pytań 1</STRONG></LEGEND>
  2. <FIELDSET><LEGEND>Jak się nazywasz</LEGEND>
  3. <P><TEXTAREA style="FONT-STYLE: italic; COLOR: black" rows=8 cols=50 name="Jak się nazywasz"></TEXTAREA></P></FIELDSET>
  4. </FIELDSET><input type='submit' value='Wyślij do nas informacje'></form></body></html>


2.Tworzę pliczek plik.php

  1. <?php
  2. $plik = $opened = fopen("data.txt", "r+");
  3.  
  4. fwrite($plik, $_POST[Jak sie nazywasz], "/n");
  5.  
  6. flock($plik, 3);
  7. fclose($plik);
  8.  
  9. ?>


3. No i na koniec oczekuję, że w pustym pliku data.txt otrzymam to co wpisał użytkownik. Ten plik z formularzem trochę skróciłem od oryginału więc nie wiem czy to co tu jest będzie działac.

Z góry dzięki za pomoc.
Go to the top of the page
+Quote Post
kkuba
post 30.05.2009, 01:00:46
Post #2





Grupa: Zarejestrowani
Postów: 102
Pomógł: 13
Dołączył: 6.07.2008
Skąd: Nowy Sącz

Ostrzeżenie: (0%)
-----


Każdy element w formularzu musi mieć ustawiony atrybut name, aby skrypt w php mógł używać danych z niego pobranych.

przykładem może być poniższy skrypt:

  1. <form action="wynik.php" method="post">
  2. <input type="text" name="tresc" />
  3. <input type="submit" value="wyslij" />


wynik.php
  1. <?php
  2.  
  3.    $tresc = htmlspecialchars(stripslashes($_POST['tresc']));
  4.  
  5.    echo 'Tresc wpisana w formularzu: <br /><br />'. $tresc;
  6.  
  7. ?>


Pozdrawiam.
Go to the top of the page
+Quote Post
-Wieviór-
post 30.05.2009, 08:03:44
Post #3





Goście







Możesz też zrobić tak:

strona.php
  1. <?php
  2. if (!isset($_POST['nazwa_jakiegos_pola_z_formularza']))
  3.  {
  4.  echo 'caly formularz pamietajac o method="POST" oraz action="strona.php"';
  5.  }
  6. else
  7.  {
  8.  $filename = "plik.txt";
  9.  $handle = fopen($filename, "r");
  10.  fwrite ($handle, htmlspecialchars(stripslashes($_POST['tresc'])));
  11.  fclose($handle);
  12.  }
  13. ?>
Go to the top of the page
+Quote Post
Quider
post 30.05.2009, 09:51:57
Post #4





Grupa: Zarejestrowani
Postów: 91
Pomógł: 9
Dołączył: 6.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


nie możesz zmiennej nazwać
  1. <?php
  2. $lol z lolem;
  3. ?>

gdyż jak widać w ten sposób mamy tylko zmienną
  1. <?php
  2. $lol;
  3. ?>
natomiast z
  1. <?php
  2. z lolem;
  3. ?>
pozostaje jako niezindentyfikowany string.
To samo się ma do tablic. Klucze tablic nie mogą zawierać spacji.


--------------------
www.quider.pl <- moja prywatna strona

Pomogłem? Kliknij Pomógł
Go to the top of the page
+Quote Post
erix
post 30.05.2009, 13:22:34
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Możesz przecież zapisać zserializowany formularz.

PS. Dodaj tag tematu.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 15:32