Prosta księga gości na plikach

Tutorial ten ma przede wszystkim pokazać podstawowe operacje na plikach. Zacznijmy od pierwszej części kodu, w której zdefiniujemy podstawowe dane oraz przekażemy je do odpowiedniego pliku.

<?php
//Plik do zapisu danych (chmody 777)
$plik_danych = 'data.txt';
 
//Sprawdzam czy zostal wyslany formularz
if($_SERVER["REQUEST_METHOD"] == "POST"){ 
 
//Przypisuję dane z formularza do zmiennych
$nick = trim(strip_tags($_POST["nick"]));   
$tresc = trim(strip_tags($_POST["tresc"])); 
//Dodaje rowniez date 
$data = date("Y-m-d H:i:s");
 
//Rozdzielam dane znakami "||"
$dane = implode("||", array($nick,$tresc,$data));
 
//Pobieram dane z pliku by sprawdzic czy jest pusty
$plik = file_get_contents($plik_danych);
if($plik != NULL) {
	//jezeli nie jest to dodaje nowa linie przed wpisem
	file_put_contents($plik_danych,"\n".$dane, FILE_APPEND); 
}
else {
	//jezeli jest to nie dodaje nowej linii po wpisie
	file_put_contents($plik_danych,$dane, FILE_APPEND); 
}
//Przekierowuje z powrotem do formularza
header("Location: ".$_SERVER["REQUEST_URI"]); 
exit; 
} 
?>

Jak widać, posłużyłem się m.in. funkcją file_get_contents, która zwraca wynik jako string. Za jej pomocą pobrałem dane z pliku i sprawdziłem czy jego zawartość nie jest pusta. Otóż gdyby była i dodałbym \n, czyli nową linię (można uznać to za odpowiednik entera), to późniejszy kod wczytałby o 1 wpis za dużo, który byłby pusty 😉

No to co? Dodajemy formularz 😛 W tym samym pliku rzecz jasna:

<form action='?' method='post'> 
Nick: <input type='text' name='nick'> <br/>
Tresc: <textarea name='tresc'></textarea>
<input type='submit' value='Dodaj!'> 
</form>

Po formularzu przyszedł czas na wyświetlenie dodanych wpisów. A zatem:

<?php
//Sprawdzam czy plik istnieje
if(file_exists($plik_danych)){ 
 
	//Pobieram dane z pliku
    $plik = file_get_contents($plik_danych);
	//Sprawdzam czy nie jest pusty
	if($plik != NULL) {
		//Rozdzielam wpisy na linijki
		$plik = explode("\n", $plik);
        echo "<ol>"; 
		//Tworze petle z tablicy $plik
        foreach ($plik as $wypis){ 
			//Rozdzielam wpis na szczegolowe dane
			$wypis = explode('||', $wypis);
			//Wyswietlam rozdzielone dane
            echo "<li>$wypis[0] o $wypis[2] napisal: $wypis[1]</li>"; 
        } 
        echo "</ol>"; 
     }
	 //Jezeli jest to wyswietlam komunikat
	 else {
		echo "Nikt jeszcze nie dodal wpisu";
	 }
} 
?>

Skrypt należałoby zmodernizować o dodatkowe pola rzecz jasna 😎

Powiązane Wpisy

AJAX

Ładowanie podstron bez o...

my_little_forum

my little forum...

php

Generowanie pobierania pl...

Komentarze

  1. Tomi dnia 20 marca 2012 o 17:15 napisał(a):

    Witam skrypt działa tylko mam jeden problem ponieważ po kliknięciu dodaj wyświetla się Warning: Cannot modify header information – headers already sent by (output started at /ksiega.php:5) in /ksiega.php on line 162. Chodzi o header(„Location: „.$_SERVER[„REQUEST_URI”]); nie wiem kompletnie co tu zmienić proszę o pomoc

    • klocek dnia 20 marca 2012 o 17:17 napisał(a):

      @Tomi, zmień $_SERVER[„REQUEST_URI”] na nazwę pliku z księgą gości, np. header(‚Location: ksiega.php’);

  2. Tomi dnia 21 marca 2012 o 23:22 napisał(a):

    rozumiem, że tak powinno to wyglądać:
    //Przekierowuje z powrotem do formularza
    header(„Location:ksiega.php „.$_SERVER[„REQUEST_URI”]);
    no ale niestety nie działa dalej ten sam błąd
    Warning: Cannot modify header information – headers already sent by (output started at /ksiega.php:5) in /ksiega.php on line 172

  3. Tomi dnia 25 marca 2012 o 18:11 napisał(a):

    zmieniłem tak jak napisałeś i tak samo. Może masz coś konkretniejszego moglibyśmy się dogadać co do ceny, albo pomocy. pozdrawiam, najlepiej napisz w mailu.

  4. ogłoszenia Wielka Brytania dnia 27 czerwca 2016 o 15:34 napisał(a):

    Świetna ta księga gości !

  5. Anna dnia 27 czerwca 2016 o 15:35 napisał(a):

    Księga gości genialna, http://www.ogloszenia.informacje.co.uk

  6. Janina dnia 29 czerwca 2016 o 15:30 napisał(a):

    Super księga, portal dla singli, https://www.samotneserca.pl/single/ poznajcie swoją miłość !

  7. Okna PCV dnia 28 marca 2017 o 20:36 napisał(a):

    Super księga gości ! Zapraszam również do siebie : http://agloni.pl/

  8. Karolina dnia 23 czerwca 2017 o 16:51 napisał(a):

    Super księga gości ! http://osobistypamietnik.bloggg.pl/

  9. dekoracjedotortu.pl dnia 11 sierpnia 2017 o 09:10 napisał(a):

    Super księga z rewelacyjnym skryptem ! Pozdrawiam
    http://dekoracjedotortu.pl

  10. Mirek dnia 13 września 2017 o 11:55 napisał(a):

    Super, takie księgi gości są najlepsze !
    https://chwilowkiok.pl

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *