Porady PHP - Baza danych na plikach tekstowych
Przykładowy uproszczony formularz:
Przykład zapisu w formie uproszczonej, jeśli chcesz umieszczać formularz na zewnątrz musisz go odpowiednio zabezpieczyć:
plik tekstowy będzie przykładowo wyglądał tak (adresy.txt), dane podzielone separatorami:
ustaw prawa chmod dla pliku na 666, o prawach przeczytasz tutaj
...i bierzemy się za odczytywanie zgromadzonych danych:
<form method="post" action="skrypt.php">
<label for="imie">imie:</label><br/>
<input type="text" size="40" name="imie"><br/>
<label for="nazwisko">nazwisko:</label><br/>
<input type="text" size="40" name="nazwisko"><br/>
<label for="telefon">telefon:</label><br/>
<input type="text" size="40" name="telefon"><br/>
<label for="adres">adres:</label><br/>
<input type="text" size="40" name="adres"><br/><br/>
<input type="submit" value="wyślij"><br/>
</form>
<label for="imie">imie:</label><br/>
<input type="text" size="40" name="imie"><br/>
<label for="nazwisko">nazwisko:</label><br/>
<input type="text" size="40" name="nazwisko"><br/>
<label for="telefon">telefon:</label><br/>
<input type="text" size="40" name="telefon"><br/>
<label for="adres">adres:</label><br/>
<input type="text" size="40" name="adres"><br/><br/>
<input type="submit" value="wyślij"><br/>
</form>
Przykład zapisu w formie uproszczonej, jeśli chcesz umieszczać formularz na zewnątrz musisz go odpowiednio zabezpieczyć:
<? if (isset($_POST['imie'])) {
$imie = str_replace("|","",$_POST['imie']); $nazwisko = str_replace("|","",$_POST['nazwisko']); $telefon = str_replace("|","",$_POST['telefon']); $adres = str_replace("|","",$_POST['adres']);
//tworzymy ciąg do zapisu $dane = "$imie||$nazwisko||$telefon||$adres";
$dane = str_replace("\n","",$dane);
//nasz plik $file = "adresy.txt"; //otwieramy do dopisania $fp = fopen($file, "a"); // blokujemy plik do zapisu flock($fp, 2); // zapisanie danych do pliku fwrite($fp, $dane."\n"); // odblokowujemy plik flock($fp, 3); // zamykamy plik fclose($fp);
} ?>
$imie = str_replace("|","",$_POST['imie']); $nazwisko = str_replace("|","",$_POST['nazwisko']); $telefon = str_replace("|","",$_POST['telefon']); $adres = str_replace("|","",$_POST['adres']);
//tworzymy ciąg do zapisu $dane = "$imie||$nazwisko||$telefon||$adres";
$dane = str_replace("\n","",$dane);
//nasz plik $file = "adresy.txt"; //otwieramy do dopisania $fp = fopen($file, "a"); // blokujemy plik do zapisu flock($fp, 2); // zapisanie danych do pliku fwrite($fp, $dane."\n"); // odblokowujemy plik flock($fp, 3); // zamykamy plik fclose($fp);
} ?>
plik tekstowy będzie przykładowo wyglądał tak (adresy.txt), dane podzielone separatorami:
ustaw prawa chmod dla pliku na 666, o prawach przeczytasz tutaj
Jan||Kowalski||7563724||ul.Cicha 1
Piotr||Dziwny||7534724||ul.Pusta 6
Piotr||Dziwny||7534724||ul.Pusta 6
...i bierzemy się za odczytywanie zgromadzonych danych:
<?
$fp = fopen("adresy.txt", "r");
//pobieramy poszczególne linie w pętli while ($current_line = fgets($fp)) { //tworzymy tablicę rozbijając linie na operatorach || $element = explode("||",$current_line); //i wyświetlamy echo"imie: $element[0],nazwisko: $element[1],telefon: $element[2],adres: $element[3]<br/>\n";
}
fclose($fp); ?>
$fp = fopen("adresy.txt", "r");
//pobieramy poszczególne linie w pętli while ($current_line = fgets($fp)) { //tworzymy tablicę rozbijając linie na operatorach || $element = explode("||",$current_line); //i wyświetlamy echo"imie: $element[0],nazwisko: $element[1],telefon: $element[2],adres: $element[3]<br/>\n";
}
fclose($fp); ?>
źródło: phpcodex.com
Komentarze
Prześlij komentarz