Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapis do pliku danych z formularza
Forum PHP.pl > Forum > Przedszkole
RE_BOOT
Siemka ludziska
Od razu powiem ze potrzebuje pomocy. Chodzi o to ze chce zrobic dowolnych rozmiwarow test lub quiz. Powiedzmy z kreatorem pytan. Z formularzami i innymi takim bajerkami html spoko sobie radzie. Moj problem dotyczy zapisu danych na serverze. Wyobrazcie sobie sytuacje gdy ktos siada przy kompie i wpisuje 50 pytan, do kazdego 4 odpowiedzi byc moze prawidlowa odpowiedz jest tylko jedna, a byz moze wszystkie. Potem ktos inny siada i probuje odpowiedziec na pytanka. Cos jak komputerowy test na prawo jazdy. Zadaje konkretne pytanie:
Jak i gdzie zapisac dane z formularza tak bym mogl potem (powiedzmy za pare godzin) je odczytac? Jak je odczytac? Czy da sie to zrobic bez uzycia SQL?
Za propozycje dziekuje z gory i pozdrawiam zainteresowanych.
Liko
Zapisz do pliku tekstowego.

:arrow: [manual:20c5483f4b]fopen[/manual:20c5483f4b]
:arrow: [manual:20c5483f4b]fwrite[/manual:20c5483f4b]
:arrow: [manual:20c5483f4b]flock[/manual:20c5483f4b]
:arrow: [manual:20c5483f4b]fclose[/manual:20c5483f4b]
:arrow: [manual:20c5483f4b]file[/manual:20c5483f4b]
:arrow: [manual:20c5483f4b]explode[/manual:20c5483f4b]

No jeżeli ktoś odpowie to zapisujsz sobie odpowiedzi w pliku tekstowym odzielając je np. ||, później odczytujesz plik i wyświetlasz co trzeba. Wszystkie potrzebne tu funkcje napisałem u góry. Dane z formularza pobierasz przez zmienną: $_POST['nazwa_pola'] jeżeli wysyłasz metodą POST. Poźniej otwiersza plik ([manual:20c5483f4b]fopen[/manual:20c5483f4b]) i zapisujesz do pliku [manual:20c5483f4b]fwrite[/manual:20c5483f4b]) następnie zamykasz plik ([manual:20c5483f4b]fclose[/manual:20c5483f4b]). To jest opis bardzo w skrocie i nieszczegółowy, taki ogólny zarys jak mniej wiecej ma to wygladać.
invx
zapis do pliku
zapis.php
[php:1:f6650f0624]<?php
$plik="plik.txt";
$tablica=file($plik);

$fp = fopen("$plik", "a");

$p2= str_replace("rn", " ", $_POST['p1']); //zamienia enter w polu textarea na space
$p2= str_replace("n", " ", $_POST['p1']); //zamienia enter w polu textarea na space

flock($fp, 2);
fwrite($fp, $_POST['p1']."n");
flock($fp,3);
fclose($fp);
?>[/php:1:f6650f0624]

formularz
[xml:1:f6650f0624]
<form action="zapis.php" method="POST">
<input type="text" name="p1">
</form>
[/xml:1:f6650f0624]

tak zapisany plik bedzie mial postac:
Kod
texttext

texttext

texttext

...
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.