Kan någon fixa ett nyhetesscript till mig och sen instellerad det.
Nyhets script
13 svar · 472 visningar · startad av kontroll
På http://amphibian.gagames.com/newspro/ finns ett utmärkt nyhetsscript. Det är nog det enklaste script jag har installerat, och om jag minns rätt behöver du i stort sett bara ladda upp filerna som dom är (förutom att modifiera layouten som görs i separata filer).
/Csson
Det har varit ganska många som frågat efter ett enkelt skript för att uppdatera en sida.
Jag tog den tidigare koden från http://cgi.webforum.nu/wf/Forum14/HTML/000056.html och ändrade lite småsaker.
En test kan köras på denna sidan
Många gånger nöjer man sig kanske med det allra enklaste för att uppdatera endast en sida men tänkte att vi kanske kunde bygga vidare på en "egen" variant och utöka den med lite fler variabler och inställningsmöjligheter.
Här är version 0.1 (hinner inte mer ikväll)
#!/usr/bin/perl
########################################
# webUpdate v 0.1 från [url="http://www.webforum.nu"]www.webforum.nu[/url] #
########################################
$NewsURL = "http://www.din_doman.se/news.html";
$NewsHomeDir = "/home/din_mapp/public_html/news.html";
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/</\<\;/g;
$value =~ s/>/\<\;/g;
$FORM{$name} = $value;
}
open (FILE,"$NewsHomeDir") | | die "Kan inte öppna $NewsHomeDir: $!\n";
@LINES=<FILE>;
close(FILE);
$SIZE=@LINES;
open (NEWS,">$NewsHomeDir") | | die "Kan inte öppna $NewsHomeDir: $!\n";
print NEWS <<Page;
<html>
<head>
<title>Nyheter</title>
</head>
<body bgcolor="#FFFFFF">
<table width="400" border="0" cellspacing="0" cellpadding="2" align="center">
<tr align="center"><td><font face="Verdana, Arial, Helvetica, sans-serif"><b><font size="4">$FORM{'titel'}</font></b></font></td></tr>
<tr><td><font face="Verdana, Arial, Helvetica, sans-serif"><b></b></font></td></tr>
<tr><td><font face="Verdana, Arial, Helvetica, sans-serif"><b><font color="#3333FF" size="2">$FORM{'rubrik'}</font></b></font></td></tr><tr>
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="2">$FORM{'text'}</font></td></tr>
<tr><td> </td></tr>
</table>
</body>
</html>
<p>
Page
close (NEWS);
print "Location: $NewsURL\n\n";
exit;
Tanken är att utöka med funktioner som layoutinställning, lösenord, tidangivelse, HTML av/på, automatisk radbrytning och vad som nu kan behövas.
Dom som är intresserade (och har tid) får gärna hjälpa till och då kan vi väl starta en egen tråd för utvecklingen.
En idé bara, men det finns kanske någon som nappar :)
Detta uppdateringsscript var ju helt suveränt!!! Jag har haft stora problem med det jag skrivit själv men detta fungerade ju totalt perfekt :)
------------------
H_A_Z_Z_E
Här kommer en liten uppdatering på Flash X:s script:#!/usr/bin/perl
########################################
# webUpdate v 0.2 från www.webforum.nu #
########################################
$NewsURL = "http://192.168.0.2/\~perl/news.html"; #OBS Din adress
$NewsHomeDir = "/home/perl/public_html/news.html";
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/</\<\;/g;
$value =~ s/>/\<\;/g;
$FORM{$name} = $value;
}
{
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime(time);
$mon++;
$mon = substr("0" . $mon,length($mon)-1,length($mon)+1);
$mday = substr("0" . $mday,length($mday)-1,length($mday)+1);
$year += 1900;
$date = $year . "-" . $mon . "-" . $mday;
$min = substr("0" . $min,length($min)-1,length($min)+1);
$sec = substr("0" . $sec,length($sec)-1,length($sec)+1);
$clock = $hour . ":" . $min . ":" . $sec;
$dateclock = $date . " / " . $clock;
if ($use_time eq "1" && $use_date eq "1"){
$dateclock = $date . " / " . $clock;
} elsif($use_time eq "1"){
$dateclock = $clock;
} elsif($use_date eq "1"){
$dateclock = $date;
}
}
open (FILE,"$NewsHomeDir") | | die "Kan inte öppna $NewsHomeDir: $!\n"; #Här blir det problem med
@LINES=<FILE>; #mellan slag på forumet
close(FILE); #Det blir ett extra mellan
$SIZE=@LINES; #| |, så se till att ta bort det.
open (NEWS,">$NewsHomeDir") | | die "Kan inte öppna $NewsHomeDir: $!\n";
print NEWS <<Page;
<html>
<head>
<title>Nyheter</title>
</head>
<body bgcolor="#FFFFFF">
<font size="2" face="Verdana, Arial, Helvetica, san-serif">Uppdaterad $clock $date</font>
<table width="400" border="0" cellspacing="0" cellpadding="2" align="center">
<tr align="center"><td><font face="Verdana, Arial, Helvetica, sans-serif"><b><font size="4">$FORM{'titel'}</font></b></font></td></tr>
<tr><td><font face="Verdana, Arial, Helvetica, sans-serif"><b></b></font></td></tr>
<tr><td><font face="Verdana, Arial, Helvetica, sans-serif"><b><font color="#3333FF" size="2">$FORM{'rubrik'}</font></b></font></td></tr><tr>
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="2">$FORM{'text'}</font></td></tr>
<tr><td> </td></tr>
</table>
</body>
</html>
<p>
Page
close (NEWS);
print "Location: $NewsURL\n\n";
exit;
Oppsss.....blev inte bra det där..prövar igen...:)
<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Perl-kod:<pre>#!/usr/bin/perl
########################################
# webUpdate v 0.1 från www.webforum.nu #
########################################
$NewsURL = "http://192.168.0.2/\~perl/news.html";
$NewsHomeDir = "/home/perl/public_html/news.html";
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/</\<\;/g;
$value =~ s/>/\<\;/g;
$FORM{$name} = $value;
}
{
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime(time);
$mon++;
$mon = substr("0" . $mon,length($mon)-1,length($mon)+1);
$mday = substr("0" . $mday,length($mday)-1,length($mday)+1);
$year += 1900;
$date = $year . "-" . $mon . "-" . $mday;
$min = substr("0" . $min,length($min)-1,length($min)+1);
$sec = substr("0" . $sec,length($sec)-1,length($sec)+1);
$clock = $hour . ":" . $min . ":" . $sec;
$dateclock = $date . " / " . $clock;
if ($use_time eq "1" && $use_date eq "1"){
$dateclock = $date . " / " . $clock;
} elsif($use_time eq "1"){
$dateclock = $clock;
} elsif($use_date eq "1"){
$dateclock = $date;
}
}
open (FILE,"$NewsHomeDir") | | die "Kan inte öppna $NewsHomeDir: $!\n";
@LINES=<FILE>;
close(FILE);
$SIZE=@LINES;
open (NEWS,">$NewsHomeDir") | | die "Kan inte öppna $NewsHomeDir: $!\n";
print NEWS <<Page;
<html>
<head>
<title>Nyheter</title>
</head>
<body bgcolor="#FFFFFF">
<h1>$clock</h1><h1> $date</h1>
<table width="400" border="0" cellspacing="0" cellpadding="2" align="center">
<tr align="center"><td><font face="Verdana, Arial, Helvetica, sans-serif"><b><font size="4">$FORM{'titel'}</font></b></font></td></tr>
<tr><td><font face="Verdana, Arial, Helvetica, sans-serif"><b></b></font></td></tr>
<tr><td><font face="Verdana, Arial, Helvetica, sans-serif"><b><font color="#3333FF" size="2">$FORM{'rubrik'}</font></b></font></td></tr><tr>
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="2">$FORM{'text'}</font></td></tr>
<tr><td> </td></tr>
</table>
</body>
</html>
<p>
Page
close (NEWS);
print "Location: $NewsURL\n\n";
exit;
Fan....får be om ursäkt...klistrade in fel kod snutt....jag försöker igen...börjar nog bli dags att gå och lägga sig...
#!/usr/bin/perl
########################################
# webUpdate v 0.2 från [url="http://www.webforum.nu"]www.webforum.nu[/url] #
########################################
$NewsURL = "http://192.168.0.2/~perl/news.html"; #OBS Din adress
$NewsHomeDir = "/home/perl/public_html/news.html";
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/</\<\;/g;
$value =~ s/>/\<\;/g;
$FORM{$name} = $value;
}
{
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime(time);
$mon++;
$mon = substr("0" . $mon,length($mon)-1,length($mon)+1);
$mday = substr("0" . $mday,length($mday)-1,length($mday)+1);
$year += 1900;
$date = $year . "-" . $mon . "-" . $mday;
$min = substr("0" . $min,length($min)-1,length($min)+1);
$sec = substr("0" . $sec,length($sec)-1,length($sec)+1);
$clock = $hour . ":" . $min . ":" . $sec;
$dateclock = $date . " / " . $clock;
if ($use_time eq "1" && $use_date eq "1"){
$dateclock = $date . " / " . $clock;
} elsif($use_time eq "1"){
$dateclock = $clock;
} elsif($use_date eq "1"){
$dateclock = $date;
}
}
open (FILE,"$NewsHomeDir") | | die "Kan inte öppna $NewsHomeDir: $!\n"; #Här blir det problem med
@LINES=<FILE>; #mellan slag på forumet
close(FILE); #Det blir ett extra mellan
$SIZE=@LINES; #| |, så se till att ta bort det.
open (NEWS,">$NewsHomeDir") | | die "Kan inte öppna $NewsHomeDir: $!\n";
print NEWS <<Page;
<html>
<head>
<title>Nyheter</title>
</head>
<body bgcolor="#FFFFFF">
<font size="2" face="Verdana, Arial, Helvetica, san-serif">Uppdaterad $clock $date</font>
<table width="400" border="0" cellspacing="0" cellpadding="2" align="center">
<tr align="center"><td><font face="Verdana, Arial, Helvetica, sans-serif"><b><font size="4">$FORM{'titel'}</font></b></font></td></tr>
<tr><td><font face="Verdana, Arial, Helvetica, sans-serif"><b></b></font></td></tr>
<tr><td><font face="Verdana, Arial, Helvetica, sans-serif"><b><font color="#3333FF" size="2">$FORM{'rubrik'}</font></b></font></td></tr><tr>
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="2">$FORM{'text'}</font></td></tr>
<tr><td> </td></tr>
</table>
</body>
</html>
<p>
Page
close (NEWS);
print "Location: $NewsURL\n\n";
exit;
Va´bra :D
Först funderade jag på att använda en mall eftersom det kanske hade underlätta, fast då kan man ju inte länka till nyhetssidan som en vanlig HTML-fil.
Meningen är ju att det ska vara så enkelt som möjligt.
Nu blir det ju lite som en mall i alla fall eftersom man kan klistra in sin egen kod mellan raderna print NEWS <<Page; och Page
Har gjort några uppdateringar och nu blir det automatiskt en <br> vid varje radbrytning och även en funktion för HTML av/på.
Dessutom så finns det hjälptext i skriptet som underlättar :)
webUpdate v0.3 finns på samma sida och det går också att ladda hem filerna i en zipfil.
Här finns också en direktlänk till koden (som textfil)
Skulle det gå att göra så att man kan skriva in flera nyheter på samma sida ut de man skrivit innan försvinner?
------------------
H_A_Z_Z_E
Då skulle det se ut mer som en gästbok, är det så du menar?
Du kan ladda hem ett gästboksscript på: http://w1.184.telia.com/~u18404634/cgi/zip.htm ,där finns även webForums nyhetsscript V0.3