Nie chodzi mi pewien skrypt i nie wiem co jest źle.
Chodzi o skrypt komentarzy.
Skrypt wygląda tak:
CODE
<?
$DATADIR="data/";
$FORMAT="<TABLE WIDTH=100% cellspacing=0><TR BGCOLOR=#DDDDDD><TD>%imie% (%email%)</TD><TD ALIGN=RIGHT>%data%</TD></TR><TR><TD COLSPAN=2 BGCOLOR=#DDDDFF>%tekst%</TD></TR></TABLE>";
// --------------------------------------------------------
$commentID="a$commentID";
function displayComments()
{
global $commentID, $start, $DATADIR, $FORMAT;
if(strstr($commentID, "/"))
return;
if(!file_exists($DATADIR.$commentID))
return;
$file=fopen($DATADIR.$commentID, "r");
flock($file, 1);
$i=0;
while(!feof($file))
{
$imie=chop(fgets($file, 1000));
$email=chop(fgets($file, 1000));
$data=chop(fgets($file, 1000));
$comment=chop(fgets($file, 100000));
if(feof($file))
break;
$display=$FORMAT;
if($email)
$mailto="<A HREF=\"mailto:$email\">$email</A>";
else
$mailto="Brak e-maila";
$display=str_replace("%imie%", $imie, $display);
$display=str_replace("%email%", $mailto, $display);
$display=str_replace("%data%", $data, $display);
$display=str_replace("%tekst%", $comment, $display);
echo($display);
$i++;
}
flock($file, 3);
fclose($file);
}
function displayForm()
{
global $REQUEST_URI, $commentID;
$id=substr($commentID, 1);
$len=strlen($REQUEST_URI)-strlen(strchr($REQUEST_URI, "?"));
$url=substr($REQUEST_URI, 0, $len);
?>
<FORM ACTION=<?=$url?> METHOD=POST>
<INPUT TYPE=HIDDEN NAME=COMMENTACTION VALUE=add>
<INPUT TYPE=HIDDEN NAME=commentID VALUE="<?=$id?>">
<TABLE>
<TR><TD>Nick:</TD><TD><INPUT TYPE=TEXT NAME=f_imie SIZE=35></TD>
<TR><TD>Email:</TD><TD><INPUT TYPE=TEXT NAME=f_email SIZE=35></TD>
<TR><TD>Tre¶ć:</TD><TD><TEXTAREA NAME=f_tresc COLS=28 ROWS=7></TEXTAREA></TD>
<TR><TD></TD><TD><INPUT TYPE=SUBMIT VALUE="DODAJ KOMENTARZ"></TD></TR>
</TABLE>
</FORM>
<?
}
if($COMMENTACTION=="add")
{
$file=fopen($DATADIR.$commentID, "a");
flock($file, 2);
$f_tresc=str_replace("\n", "<BR>", $f_tresc);
$f_tresc=str_replace("\r", "", $f_tresc);
$f_imie=str_replace("\n", "<BR>", $f_imie);
$f_imei=str_replace("\r", "", $f_imie);
$f_email=str_replace("\n", "<BR>", $f_email);
$f_email=str_replace("\r", "", $f_email);
fputs($file, $f_imie);
fputs($file, "\n");
fputs($file, $f_email);
fputs($file, "\n");
fputs($file, date("H:i d-m-Y"));
fputs($file, "\n");
fputs($file, $f_tresc);
fputs($file, "\n");
flock($file, 3);
fclose($file);
}
?>
$DATADIR="data/";
$FORMAT="<TABLE WIDTH=100% cellspacing=0><TR BGCOLOR=#DDDDDD><TD>%imie% (%email%)</TD><TD ALIGN=RIGHT>%data%</TD></TR><TR><TD COLSPAN=2 BGCOLOR=#DDDDFF>%tekst%</TD></TR></TABLE>";
// --------------------------------------------------------
$commentID="a$commentID";
function displayComments()
{
global $commentID, $start, $DATADIR, $FORMAT;
if(strstr($commentID, "/"))
return;
if(!file_exists($DATADIR.$commentID))
return;
$file=fopen($DATADIR.$commentID, "r");
flock($file, 1);
$i=0;
while(!feof($file))
{
$imie=chop(fgets($file, 1000));
$email=chop(fgets($file, 1000));
$data=chop(fgets($file, 1000));
$comment=chop(fgets($file, 100000));
if(feof($file))
break;
$display=$FORMAT;
if($email)
$mailto="<A HREF=\"mailto:$email\">$email</A>";
else
$mailto="Brak e-maila";
$display=str_replace("%imie%", $imie, $display);
$display=str_replace("%email%", $mailto, $display);
$display=str_replace("%data%", $data, $display);
$display=str_replace("%tekst%", $comment, $display);
echo($display);
$i++;
}
flock($file, 3);
fclose($file);
}
function displayForm()
{
global $REQUEST_URI, $commentID;
$id=substr($commentID, 1);
$len=strlen($REQUEST_URI)-strlen(strchr($REQUEST_URI, "?"));
$url=substr($REQUEST_URI, 0, $len);
?>
<FORM ACTION=<?=$url?> METHOD=POST>
<INPUT TYPE=HIDDEN NAME=COMMENTACTION VALUE=add>
<INPUT TYPE=HIDDEN NAME=commentID VALUE="<?=$id?>">
<TABLE>
<TR><TD>Nick:</TD><TD><INPUT TYPE=TEXT NAME=f_imie SIZE=35></TD>
<TR><TD>Email:</TD><TD><INPUT TYPE=TEXT NAME=f_email SIZE=35></TD>
<TR><TD>Tre¶ć:</TD><TD><TEXTAREA NAME=f_tresc COLS=28 ROWS=7></TEXTAREA></TD>
<TR><TD></TD><TD><INPUT TYPE=SUBMIT VALUE="DODAJ KOMENTARZ"></TD></TR>
</TABLE>
</FORM>
<?
}
if($COMMENTACTION=="add")
{
$file=fopen($DATADIR.$commentID, "a");
flock($file, 2);
$f_tresc=str_replace("\n", "<BR>", $f_tresc);
$f_tresc=str_replace("\r", "", $f_tresc);
$f_imie=str_replace("\n", "<BR>", $f_imie);
$f_imei=str_replace("\r", "", $f_imie);
$f_email=str_replace("\n", "<BR>", $f_email);
$f_email=str_replace("\r", "", $f_email);
fputs($file, $f_imie);
fputs($file, "\n");
fputs($file, $f_email);
fputs($file, "\n");
fputs($file, date("H:i d-m-Y"));
fputs($file, "\n");
fputs($file, $f_tresc);
fputs($file, "\n");
flock($file, 3);
fclose($file);
}
?>
Skrypt nie zapisuje komentarzy do folderu data do jakiegoś pliku, a pisało w readme że właśnie tak ma być.
Ustawiłem wszystkie CHMODY.
Nie wiem czy mój hosting obsługuje php3.
Do pliku php, tam gdzie ma być wyświetlane okno z komentarzami trzeba było dodać daką linijkę:
$commentID=1;
include("kom.php3");
oraz taką:
displayComments();
displayForm();
Komentarze się nie wyświetlają bo nie ma żadnych w folderze data, a do folderu data nic się nie zapisuje kiedy wypełniam pola.