Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapisywanie formularza do pliku
Forum PHP.pl > Forum > Przedszkole
glowa500
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.
kkuba
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.
Wieviór
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. ?>
Quider
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.
erix
Możesz przecież zapisać zserializowany formularz.

PS. Dodaj tag tematu.
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.