Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php/txt] Księga gości - gotowy, działający skrypt
witu
post 22.03.2008, 12:48:42
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 14.07.2007

Ostrzeżenie: (0%)
-----


Witam!

Chciałbym Wam ofiarować gotowy, prosty skrypcik księgi gości. Zbudowałem go za pomocą rónych różniastych skryptów znalezionych w internecie (równie na tym forum). Po prostu potrzebowałem go dostosować do własnych potrzeb.

Jest oparty na pliku tekstowym.
plusy/minusy:

+ księgę można (a nawet trzeba) wkomponować w swoją stronę internetową, i NIE otwiera sie w nowym oknie tak jak chyba większość księg oferowanych na tym forum winksmiley.jpg
+ jak ktoś nie umie, nie trzeba się pakować w bazy danych
+ wyświetla datę i godzinę dodania wpisu
+ wyświetla liczbę wszystkich wpisów
+ zabezpieczenie przed wysłaniem pustego formularza
+ gdy ktoś wpisze tekst, a nie podpisze się, jego nick wyświetli się jako "Gość"
+ zabezpieczenie przed wpisywaniem znaków html i php

- brak stronnicowania (pracuję nad tym)
- brak zabezpieczenia przed zbyt długim tekstem


część wyświetlająca:
Kod
<!-- plik ksiega.php -->
<center>
<p>
<span style="font-size:x-large;"><b>Księga gości</b></span>
</p>
</center>
<br />
<?
$nazwa = "baza.dat";
  $myFile = fopen($nazwa, "r");
  $i = -1;
  while(!feof($myFile))  {
     $myLine = fgets($myFile, 2000);
     $i++;
   }
  fclose($myFile);
    
echo "<a href=\"index.php?id=dodaj\"><span style=\"font-weight: bold;\">Nowy wpis</span></a>      Ilość wpisów w Księdze: $i<br /><br />";

$file = array_reverse( file('baza.dat') );

foreach($file as $key => $value)
{
list($imie, $tresc) = explode("|||", $value);
echo $imie .'<br />';
echo $tresc .'<br /><br />';
echo '<hr>';
}
echo "<a href=\"index.php?id=dodaj\"><span style=\"font-weight: bold;\">Nowy wpis</span></a><br /><br />";
?>



część dodająca (formularze):
Kod
<!-- plik dodaj.php -->

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" >
<title>Dodawanie wiadomości</title>
</head>
<body>

<form method="post" action="index.php?id=zapisz">
<div>
   Imię: <input type="text" name="nick" /><br />
   Treść:<br />
    <textarea cols="35" name="pole" rows="12">
</textarea>  <br />
   <input type="submit" value="Wyślij"/>
</div>
</form>
</body>
</html>


część zapisująca:
Kod
<!-- plik zapisz.php -->
<META HTTP-EQUIV="Refresh" CONTENT="javascript:history.back()">
<?php

if($pole=="")
    {
    
    echo("<br /><br /><h4><b>Napisz coś;)<br /><br /><a href='javascript:history.back();'>Wstecz</a></b></h4>");
    }
else {
    
$nick = $_POST['nick'];
$pole = $_POST['pole'];

$nick = HTMLSpecialChars($nick);
$anonim = "Gość";
if($nick=="")  $nick = $anonim;
$pole = HTMLSpecialChars($pole);
$date = date("j.m.Y G:i");
$text = ereg_replace("\n", "<br />", $pole);
$wynik = '<b>'. $nick . '</b>'. "     " . $date . '|||' .$text.  "\n";
$plik ="baza.dat";
$fp = fopen($plik, "a");

fwrite ($fp, $wynik);
fclose($fp);

echo '<span style="font-size:small;"> <a href="index.php?id=ksiega" /> <b>Powrót</b></a></span><br />';
echo '<center><h2> Dzięki za wpis! </h2></center>';
}
?>


do pelni szczescia brakuje jeszcze pliku tekstowego ktory przechowuje wpisy: baza.dat , ktorego chmody musimy ustawic na 777.

wszystkie pliki powinny być w tym samym katalogu, sprawy katalogów juz sami sobie dostosujecie. u mnie jest tak, że pliki księgi są w katalogu głównym stronki (obok index.php), a księgę wywołuję przez odwołanie "include" w pliku index, w ten sposób:

  1. <?php
  2. $id=$_GET['id'];
  3. if($id=="dodaj"){
  4. include("dodaj.php");
  5. }
  6. if($id=="ksiega"){
  7. include("ksiega.php");
  8. }
  9.  
  10. if($id=="zapisz"){
  11. include("zapisz.php");
  12. }
  13. ?>


a tak to wszystko wygląda:

(tło się wzięło oczywiście z mojej strony internetowej)

pozdr!
Witu

Ten post edytował witu 29.03.2008, 02:53:20
Go to the top of the page
+Quote Post
Ociu
post 23.03.2008, 18:21:01
Post #2





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




Przenoszę do Algorytmy, klasy, funkcje.
Go to the top of the page
+Quote Post
sienczek
post 2.03.2010, 20:35:56
Post #3





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 2.03.2010

Ostrzeżenie: (0%)
-----


hmm testuje ksiege na xamppie i po wpisaniu czegoś w pola, kliknięcniu wyslij wyskakuje info: napisz cos :jakby nie przekazywał mi tych wpisów które wpisuje w formularzu: na serwerze jest tak samo jakby co. Jakiś pomysł gdzie jest błąd?
Go to the top of the page
+Quote Post
kaiba55
post 13.03.2010, 22:05:29
Post #4





Grupa: Zarejestrowani
Postów: 75
Pomógł: 0
Dołączył: 29.01.2010

Ostrzeżenie: (0%)
-----


radze zrezygnować z include...

i mam pytanie, jak zrobiłeś kreski pod każdym wpisem, potrzebuje właśnie czegoś takiego??

Ten post edytował kaiba55 13.03.2010, 22:07:36
Go to the top of the page
+Quote Post
emtiej
post 11.04.2010, 16:13:12
Post #5





Grupa: Zarejestrowani
Postów: 207
Pomógł: 18
Dołączył: 12.04.2009
Skąd: Rypin

Ostrzeżenie: (0%)
-----


znacznik <hr> w html...

Cytat
radze zrezygnować z include...


Może uzasadnisz swoją wypowiedź?
Go to the top of the page
+Quote Post
neneth
post 21.06.2010, 19:14:44
Post #6





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 21.06.2010

Ostrzeżenie: (10%)
X----


Witam jestem nowym użytkownikiem forum. Proszę mi wyjaśnić, w którym miejscu mam wkleić ten sprypt (jak go umieścić w divie?)i który plik gdzie, bo jestem początkującym webmasterem. Bardzo proszę o pomoc, bo od kilku miesięcy szukam jakiego rozwiązania.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.04.2024 - 10:38