Jag har skrivit ett nyhetssystem som bara inte vill fungera! Om man fyller i mitt forumulär på http://www.gratiswebplats.nu/yohan/formular.htm och trycker spara kommer ett kontsigt felmedelande. Testa själva.
Här är koden:
#!/usr/bin/perl
$news = 'news.txt';
@url = split(/&/,$ENV{'QUERY_STRING'});
foreach $i (0 .. $#url) {
$url[$i] =~ s/\+/ /g;
$url[$i] =~ s/%(..)/pack("c",hex($1))/ge;
$loc = index($url[$i],"=");
$key = substr($url[$i],0,$loc);
$val = substr($url[$i],$loc+1);
$url{$key} .= $val;
}
$url{'news'} =~ s/\n/<BR>/g;
@datum = localtime(time);
$datum = $datum[4]+1 . "/$datum[3]/$datum[5]";
$new = "<P><B><TT><FONT SIZE=\"+2\">$datum:</FONT></TT></B><FONT SIZE=\"+1\">$url{'news'}</FONT></P>\n";
open IN, $news;
@old = <IN>;
close IN;
open OUT, ">$news";
print OUT $new . join('',@old);
close OUT;
print "Location: news.html\n\n";
Det var de två fel jag hittade i scriptet. Dessutom har du skrivit
<!--#include file=" news.txt"--> i 'news.html'. Ta bort mellanslaget innan 'news.txt'. Är servern konfigurerad att kolla efter SSI-anrop i html-filer? Döp annars om 'news.html' till 'news.shtml' och ändra namnet även i Location-headern sist i scriptet.
Kolla även över sökvägen från HTML dokumentet till scriptet...
bör vara något i stil med ./nytt.cgi eller ../nytt.cgi eller så skriver du i hela sökvägen t.ex http://www.gratiswebplats.nu/yohan/cgi-bin/nytt.cgi
262 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849