Porady PHP - Baza danych na plikach tekstowych

Przykładowy uproszczony formularz:

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

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($fp2);  // zapisanie danych do pliku  fwrite($fp$dane."\n");  // odblokowujemy plik  flock($fp3);  // 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

...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
); ?> 

źródło: phpcodex.com

Komentarze

Popularne posty z tego bloga

phpBoard

Turbo pascal - Program sortujący liczby rosnąco

Jak poznać numer ID ostatnio dodanego rekordu do bazy danych MySQL