Jump to content
Empc.

Skrypt opini w PHP

Recommended Posts

Empc.

Witam

Dzisiaj pokaże wam jak zrobić formularz umożliwający np. wprowadzenie własnej opini. Wszystko to dzięki PHP5.

Co będzie robił skrypt ? :

  • dopisanie opinii na końcu pliku opinie.txt
  • wyświetlenie formularza
  • wyświetlenie dotychczasowych opinii z pliku opinie.txt

Na początku tworzymy pliki o nazwie:

index.php 

opinie.txt

Otwieramy index.php i w nim zaczynamy pisać nasz skrypt. Na początek dajmy kod PHP, który sprawdza, czy za pomocą metodyGET do skryptu zostałprzekazany parametr o nazwie opinia. Jeśli tak, oznacza to, że użytkownik wypełnił formularz i przesłał opinię (lub uzył bezpośredniego odwołania, wpisując na przykład opinię do adresu URL). To jednak mało. Dodajmy jakiś ogranicznik tekstu. Np. 255 znaków (przyjmujemy, że opinia dłuższa nie będzie). Za to odpowiada funkcja substr. Po skróceniu ciągu jest on poddawany działaniu funkcji strip_tags, która usuwa ewentualne znaczniki HTML i PHP. Ta czynność jest niezbędną, bo gdyby użytkownik wprowadził jakiś tekst HTML w formularz mogłoby to spowoadać różne niespodziewane efekty.

Dodajmy też odrazu funkcję file_put_contents
dzięki czemu wartość tych wszystkich operacji będzie zapisywana w opinie.txt. 

<?php 

 if(isSet($_GET['opinia'])){ 
 $str = substr($_GET['opinia'], 0, 255); 
 $str = strip_tags($str); 
 if($str != ""){ 
 file_put_contents("./opinie.txt", "$str\n", FILE_APPEND); 
 } 
 } 
 ?> 

Pozostałe funkcje jak np. if($str != ""){ to duperele. Ta funkcja akurat odpowiada za to, że jak ktoś nic nie wpiszę to opinia się nie zapisze. ;)

To jest koniec naszego pierwszego kodu PHP. Czas na HTML.
Początek to wiadomo. Ustalamy w <title> tytuł, a w <meta...> dokładny rodzaj języka HTML. 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"> 
<title>Moj pierwszy skrypt PHP</title> 
</head>

Czas stworzyć Div:

<body> 
<div> 
<strong>WyraĽ swoj&#177; opinię:</strong><br /> 
(maksymalnie 255 znaków) 
<br /> 
</div>

<strong> to pogrubienie. <br /> przenoszenie do następnej linii, ale to chyba każdy z Was wie.

Czas na coś trudniejszego. Kod HTML, który wygeneruje nam formularz. Wykorzystamy standardowe znaczniki <form>, <textarea> i <input>. Dane z formularza będą przesyłane za pomocą metody GET, na co będzie wskazywać parametr method znacznika <form>. Później zakończymy form, damy jakiś tekst, który będzie wskazywał gdzie są opinie i otworzymy nowego DIV'a. Po co ? Na opinie. ;)

<form method="get" action="http://strzelnica-konin.com/Images/index.php"> 
<div> 
<textarea rows="5" cols="20" name="opinia"></textarea> 
<br /> 
<input type="submit" value="Wy&#182;lij" /> 
</div> 
</form> 
<p>Dotychczasowe opinie:</p> 
<div>

Na tym kończy się nasz kod HTML. Niestety to nie koniec. Trzeba jeszcze wrócić do języka PHP i dodać fragment, który będzie odpowiadał za odczytanie danych z pliku opinie.txt i wyświetlenie ich na stronie. Rozpoczniemy go odwołaniem file_exists sprawdzając przy tym, czy plik z danymi faktycznie istnieje. Jeśli istnieje(jak u nas) będą wykonywane dalsze czynności. Jakie ? A więc później damy funkcję file_get_contents, dzięki której treść opinie.txt będzie odczytywana i przypisywana naszej ukochanej zmiennej $str, która jest następnie poddawana działaniu dwóch funkcji - strip_tags i nl2br.

Pierwszą z nich znamy. (GÓRA). Druga funkcja (nl2br) jest nam nie znana. Powoduje ona zamianę znakó końca linii na znaczniki <br />, które sprawią, że tekst będzie dobrze sformatowany. Po wykonaniu opisanych przekształceń treść zmiennej $str jest wysyłana do przeglądarki za pomocą instrukcji echo. Dzięki tej samej instrukcji, ale jej sprzeciwu ustalamy tekst, który się wyświetli jeśli nie mamy jeszcze opini.

<?php 

 $str = ""; 
 if(file_exists("./opinie.txt")){ 
 $str = file_get_contents('./opinie.txt'); 
 $str = strip_tags($str); 
 $str = nl2br($str); 
 } 
 if($str != ""){ 
 echo $str; 
 } 
 else{ 
 echo "Brak opinii. Możesz dodać pierwsz±."; 
 } 
 ?>

Na tym kończymy z PHP. Dodajmy jeszcze jakiś SŁŁŁŁŁIITTTAAŚŚNNYY tekst na dole, żeby każdy wiedział, że to nasz kod i jesteśmy superowi, że to umiemy. <p> = <br />

<p>Code by Zaczynam | CMSSzablony.pl</p>

I nie zapomnijcie zamknąć wszystkiego co wcześniej otworzyliście ! :

</div> 
</body> 
</html>

P.S. W miejsce : "http://strzelnica-konin.com/Images/index.php" Daj swój link z dojściem do index.php. ;)

Dodaje do załącznika mój index.php, jeśli komuś to pomoże.

 index.rar

Share this post


Link to post
Share on other sites
Daniel

Strasznie chaotycznie opisane, nie przyda się raczej nikomu.

Do nauki ? Jest masa lepszych.

2/10 za chęci.

Share this post


Link to post
Share on other sites
Guest DR HOUSE

Szczerze mówiąc to nie mogłem w kilku miejscach dojść co do czego, dopiero po chwili zastanowienia załapałem :P

Do nauki nie jest to dobre, raczej jako instrukcja modyfikacji...

Jak na Twój pierwszy poradnik to w porządku, zapewne przyda się taki formularz ;)

Share this post


Link to post
Share on other sites
Jacob

A ja dam piwko, bo wiem, że się troche chłopak napracował :)

Share this post


Link to post
Share on other sites
wlodziu

Brak podgłądu pliku jak wygląda plik po dodaniu jakiejś opinii.

Nie przesyłałbym formularza getem

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
×
×
  • Create New...