|
Jak wprowadzać dane aby mieć możliwość późniejszej
edycji
Gdy wprowadzamy dane do pliku w postaci sformatowanego kodu html, istnieje
jedna główna wada - nie można takiego pliku modyfikować w wygodny sposób
(pozostaje grzebanie w kodzie, ustawianie przywilejów itd...).
Aby mieć możliwość edycji, musimy zapisać dane najlepiej w postaci wartości
odzielonych od siebie (w tym przypadku) operatorami.
Aby przetestować tą metodę utwórz trzy pliki:
formularz.htm
zapis.php3
edycja.php3
formularz.htm
--------------------------------------------------
<form action="zapis.php3" method="post">
<input type="hidden" name="ok" value="1"><br>
<input type="text" name="zmienna1" size="45"><br>
<input type="text" name="zmienna2" size="45"><br>
<input type="text" name="zmienna3" size="45"><br>
<input type="submit" value="submit">
</form>
--------------------------------------------------
w pliku formularz mamy trzy pola do wprowadzania danych, dane z tych pól
przesyłamy do pliku zapis.php3
zapis.php3
--------------------------------------------------
<?
$dane="||$zmienna1||$zmienna2||$zmienna3";
$file="plik.txt";
$fp=fopen("$file", "w");
flock($fp, 2);
fwrite($fp, $dane);
flock($fp, 3);
fclose($fp);
?>
--------------------------------------------------
w pliku zapis.php3 formatujemy dane na zasadzie zmienna - operator - zmienna -
operator - itd... i zapisujemy do "plik.txt" (nie zapomnij o
uprawnieniach dla plik.txt - chmod 666)
edycja.php3
--------------------------------------------------
<?
$file = file("plik.txt");
$total = count($file);
for($i=0; $total > $i; $i++){
$split = explode("||", $file[$i]);
}
?>
<form action="zapis.php3"
method="post">
<input type="text" name="zmienna1" size="45"
value="<? echo $split[1]; ?><br>
<input type="text" name="zmienna2" size="45"
value="<? echo $split[2]; ?><br>
<input type="text" name="zmienna3" size="45"
value="<? echo $split[3]; ?><br>
<input type="submit" value="submit"><br>
</form>
--------------------------------------------------
W pliku edycja.php3 dzieje się najważniejsza część o którą
chodzi w tej poradzie.
Pobieramy dane z pliku (plik.txt) dzielimy dane pomiędzy operatorami i
zamieniamy w tablicę. Każdy wpis pomiędzy operatorami jest przenumerowany i
według kolejności wstawiony do pól tekstowych formularza do edycji (znaki
operatorów są przy tej operacji usunięte. I tak mamy stworzone "zamknięte
koło", które możemy cały czas
modyfikować i wprowadzać zmiany. Metoda ta świetnie sprawdza się w
przypadku np. mało skomplikowanego cennika, który od czasu do czasu trzeba
modyfikować.
dodał: Rip
|