Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Księga Gości - problem z zamieszczeniem skryptu
#1
Witam wszystkich,

na tym forum znalazłem skrypt Księgi Gości i chciałem zamieścić go na swojej stronie. Całą stronę robię w php, a mój główny plik to index.php .
Jak wkleiłem kod, to - oprócz formularza na stronie - pokazała się kod księgi i nie wiem, jak tego uniknąć. Proszę o pomoc, oto ten kod:

plik wzorbook.php

Kod PHP:
<div align="center"><b>KSIĘGA GOSCI</b><BR></DIV>
<
TABLE width="70%" align="CENTER"><TR><TD>

<!-- 
cała księga jest w jednym plikuw zależnoœci od wywołania (parametr $idwykonywana jest odpowiednia akcja
     np
dla $id=1 jest wyswietlenie formularza słuzacego do dokonania wpisudla $id=2 wykonywany jest zapis danych
     z formularza 
do księgi pamietanej w pliku tekstowym po uprzedniej weryfikacji danychdla $id roznego od 1 i od 2 jest
     po prostu wyswietlana ksiega 
-->  


<? if (
$id==1):  ?>

    
   <DIV class="styl"><BR><BR><BR><font size="4">Twój wpis do księgi:<BR><BR><BR></font>
   <FORM ACTION="wzorbook.php?id=2" METHOD="POST">
   Autor: &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;
   <INPUT TYPE="TEXT" SIZE="30" MAXLENGTH="30" style="background-color: #BBBBBB; font-family: Verdana; font-size: 12pt color: #00FF00" NAME="Autor"><BR><BR>
   E-mail: &nbsp; &nbsp; &nbsp; &nbsp;
   <INPUT TYPE="TEXT" SIZE="30" MAXLENGTH="30" style="background-color: #BBBBBB; font-family: Verdana; font-size: 12pt color: #00FF00" NAME="adres"><BR><BR>
   www:  &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;
   <INPUT TYPE="TEXT" SIZE="30" MAXLENGTH="30" style="background-color: #BBBBBB; font-family: Verdana; font-size: 12pt color: #00FF00" NAME="web"><BR><BR>
<font size="2">(pola e-mail i www mogą pozostać puste)</font><BR><BR>
   <TEXTAREA NAME="Tresc" WRAP COLS=50 style="BACKGROUND-COLOR: #BBBBBB; font-family: Verdana; font-size: 12pt color: #00FF00" ROWS=5></TEXTAREA><BR><BR><BR> &nbsp;  &nbsp;  &nbsp;  
   <INPUT TYPE=SUBMIT VALUE= " Dopisz " style="BACKGROUND-COLOR: #333333;  FONT-FAMILY : Verdana; FONT-SIZE : 12; color: #FFFFFF"> &nbsp;  &nbsp;  &nbsp;  
   <INPUT TYPE="RESET"  VALUE=" Wyczyść " style="BACKGROUND-COLOR: #333333; FONT-FAMILY : Verdana; FONT-SIZE : 12; color: #FFFFFF">
   </FORM></DIV>  
<? exit; endif; ?>


<? if ($id==2) {

  if((
$Autor=="") or ($Tresc==""))   // było jeszcze sprawdzanie pole e-mail, ale zrezygnowałem:  or ($adres=="")
  //jesli pole autor lub tresc jest puste pojawia sie komunikat monitujacy
  
{
  print(
"<BR><BR><P class=\"styl\"><B>Nie wypełniłeś wszytkich pól !</B></P>");
  print(
"<BR><BR><P class=\"styl\"><A HREF=\"wzorbook.php?id=1\">powrót do formularza</A></P>");
  print(
"<P class=\"styl\"><A HREF=\"wzorbook.php\">powrót do księgi</A></P>");
  exit;
  } 
//tu obrabia sie wpis przez usuniecie ewentualnych znakow niebezpiecznych,
//a enter zamienia sie na przejscie do nowej linii  
  
$Tresc ereg_replace("<","&lt;"$Tresc);
  
$Tresc ereg_replace(">","&gt;"$Tresc);
  
$Tresc ereg_replace("\n""<BR>"$Tresc);
  
//wpisy ksiegi gosci pamietane sa w pliku o nazwie ksiazka.txt - oczywiscie mozna to zmienic 

  
$nazwa "ksiazka.txt";

//nie wysilalem sie z weryfikacja wpisanego przez goscia adresu wlasnej strony
//po prostu mozna tutaj wpisac tylko adres w ktorym wystepuje ciag znakow ".pl"
//moze jest to krzywdzace dla posiadaczy stron bez takich znakow w adresie,
//ale z pewnoscia uchroni to ksiege przed wpisem zlosliwego goscia np. http://dupa.jasiu 

  
if (ereg(".pl"$web)) {
   
$web="moja strona: &nbsp; <a href=\"$web\" target='_blank'>$web</a><BR>";
   }
  else {
   
$web="";
   }; 

//jak widac nizej wpis zawiera nie tylko dane wpisane przez goscia, ale takze rozmaite znaczniki
//HTML formatujace wpis do postaci przydatnej do natychmiastowego wyswietlenia. 
//jest to rozwiazanie spotykane w wielu ksiegach gosci

  
if ($adres=="") { 
   
$adres="nie podano adresu e-mail";
   
$wpis "<I>".date("d.m.Y")." &nbsp; &nbsp; g. ".date("H.i")."</I><BR><B>$Autor<BR>$adres<BR>$web <BR></B> $Tresc\n";
   } 
 else {
  
$wpis "<I>".date("d.m.Y")." &nbsp; &nbsp; g. ".date("H.i")."</I><BR><B>$Autor<BR> <a HREF=\"mailto:$adres\">$adres</A> <BR>$web<BR></B> $Tresc\n";  
  };
  
$myFile fopen($nazwa"r+");
  
$wpis=$wpis.fread($myFilefilesize($nazwa));
  
rewind($myFile);
  
fputs($myFile$wpis);
  
fclose($myFile);
    
  print(
"<BR><BR><P class=\"styl\"><B>Dziękuję za wpis!</B></P><BR>");
  print(
"<BR><BR><P class=\"styl\"><A href=\"wzorbook.php\">obejrzyj swój wpis</A></P>");

//w tym miejscu jest hiperlink do powrotu do strony glownej naszego serwisu np index.php lub index.htm itp.

  
print("<P class=\"styl\"><A href=\"index.php\">powrót do  strony</A></P>");


else { 
//id nie równa się 1 ani 2 
   
  
print "<P class=\"styl\"><B><BR><font color=#FF0000>aby się wpisać kliknij";
  print 
"<A HREF=\"wzorbook.php?id=1\">&nbsp;&nbsp;&nbsp;";
  print 
"&nbsp;>> tutaj <<</A>";
  print (
"<BR><font color=#000000>liczba wpisów w księdze (od 26.02.2002):&nbsp;"); 


// zliczanie dotychczasowych wpisów 
// tu istotny moment liczba 2000 lilka linii nizej okresla w przyblizeniu dlugosc calego wpisu
//ktory mozna dokonac. Jezeli gosc wpisze caly elaborat to moze on zostac podzielony na 2
//albo na wiecej wpisow w ksiedze, ktore beda wyswietlone jeden za drugim jakby byly to 2 wpisy
//jezeli liczba 2000 jest za mala to mozna ja zmienic

  
$nazwa "ksiazka.txt"
  
$myFile fopen($nazwa"r");
  
$i=0;
  while(!
feof($myFile))  {
     
$myLine fgets($myFile2000);
     
$i++; 
   }
  
fclose($myFile);
  print(
" &nbsp; $i<BR><BR></B></font>"); // drukowanie liczby wpisow;

 
  
print "<HR color=#0000FF width=\"500\"><BR>";
  
$nazwa "ksiazka.txt";
  
$myFile fopen($nazwa"r");
  
$k=1;
  
$end=$st+9;
  while(!
feof($myFile))   // dopóki nie jest koniec pliku - drukowanie po jednym wpisie (1 wpis = 1 linia pliku
   
{        // ale 1 linia pliku ma już w sobie format w jakim jest drukowana - zajmuje kilka linii)
     
$myLine fgets($myFile2000);
     if (
$k>=$st) {
        if (
$k<=$end) {
                     
                print(
"<P class=\"styl\">$myLine</P><HR width=\"500\" color=#0000FF><BR>");           
        };
     };
     
$k++;
   }


//wpisy w ksiedze sa wyswietlane  "w dawkach" po 10 sztuk na jednej stronie;
//kolejne wpisy sa dostepne na innych stronach ksiegi, do ktorych mozna wejsc
//przez hiperlinki u dolu strony 

  
fclose($myFile);
  print(
"<P class=\"styl\"><B><font color=#000000>inne strony księgi<BR>");

  
$ile=floor($i/10);                      //obliczenie iloœci stron ksiegi
  
$ctpage=floor($st/10)+1;          //numer strony biezacej
  
for ($z=0;$z<=$ile;$z++) {
    
$y=$z+1;                             //numery stron sš od 1 a nie od 0
    
if ($y==$ctpage) {print ("<FONT color=#000000> $y ");}       //piszemy numer biezacej strony nie jako hiperlink
       
else {print ("<A HREF=\"wzorbook.php?st=".$z."1\"> $y </A>");}    //numery innych stron to hiperlinki
  
};


  } 
//koniec od else

?>
</TD></TR></TABLE> 

To dla mnie naprawdę ważne, więc proszę o pomoc.
Odpowiedz
#2
Zamień <? na <?php
Odpowiedz
#3
(05-05-2011, 15:46)Pedro84 napisał(a): Zamień <? na <?php

Już to zrobiłam i inkludowałam plik poleceniem

[php
<?php

include("wzorbook.php");

?>
][/php]

Wyskoczyły mi takie błędy:
Warning: include(wzorbook.php) [function.include]: failed to open stream: No such file or directory in C:\xampp\htdocs\Odchudzanie\index.php on line 468

Warning: include() [function.include]: Failed opening 'wzorbook.php' for inclusion (include_path='.;\xampp\php\PEAR') in C:\xampp\htdocs\Odchudzanie\index.php on line 468
Odpowiedz
#4
Przecież masz napisane, że nie może znaleźć pliku = błąd ścieżki
Odpowiedz
#5
(05-05-2011, 16:59)Pedro84 napisał(a): Przecież masz napisane, że nie może znaleźć pliku = błąd ścieżki

To już wiem, ale jak próbuję wejść do formularza dodającego wpis, to gdzieś jest błąd z przekierowaniem, bo mi dwa razy w to samo miejsce wchodzi.
Odpowiedz
#6
(05-05-2011, 17:39)neneth napisał(a):
(05-05-2011, 16:59)Pedro84 napisał(a): Przecież masz napisane, że nie może znaleźć pliku = błąd ścieżki

To już wiem, ale jak próbuję wejść do formularza dodającego wpis, to gdzieś jest błąd z przekierowaniem, bo mi dwa razy w to samo miejsce wchodzi.
Żadnego przekierowania w tym spaghetti nie widzę. Możesz pokazać scren, albo opisać dokładniej o co chodzi?
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Problem zm osadzeniem skryptu lighbox w kodzie html gajowy873 2 3,712 24-09-2016, 02:22
Ostatni post: Anatol64
  Podgląd skryptu loginbla 1 1,993 20-09-2012, 20:38
Ostatni post: Morfeusz_2005
  Nie mogę zainstalować skryptu. Tuhaj 9 6,513 23-05-2011, 14:03
Ostatni post: hieroshima
  Generator sygnaturek- szukam skryptu. SanKylo 2 3,189 09-05-2011, 02:30
Ostatni post: Bartez119
  [php-css] jak ustawić pozycje bloków, księga gości sebastianl 4 5,595 17-12-2010, 15:47
Ostatni post: sebastianl

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości
Sponsorzy i przyjaciele
SeoHost.pl