Ga naar inhoud

Gastenboek


10e

Aanbevolen berichten

Hallo,

Ik heb via Matt's Script Archive: Guestbook geprobeerd om een gastenboek te maken voor onze website.

Een addguest.html-bestand spreekt een perl-script aan. Dit script (Guestbook.pl) heb ik (met nodige aanpassingen voor de variabelen) in de folder cgi-bin geplaatst en via Dreamweaver heb ik de machtiging van het pl-bestand naar "755" gezet.

Bij het testen word ik er steeds op gewezen dat het Guestbook.pl niet bestaat. Nochtans kan ik ernaartoe ftp'en, zie ik het bestand via Dreamweaver op de server staan en kan ik het bestand ook benaderen via software van de host.

Ik heb bijgevolg eens geprobeerd om het Guestbook.pl-bestand eens in de hoofdmap te zetten. Dan wordt het bestand wel herkend, maar opent het bestand gewoon in een teksteditor...

Waarom wordt het script niet herkend in de cgi-bin-folder en waarom wordt het script niet uitgevoerd i.p.v. geopend in een teksteditor? Heb ik bij het aanpassen van het script iets misgedaan bij het opslaan?

Link naar reactie
Delen op andere sites

Mischien is het handig om vervolgens gewoon zelf te scripten etc.

maar je wilt het via de "moeilijke" weg doen.

als ik je bericht zo lees zeg je dat je niet zeker wel de goeie directory hebt gekozen?

of dat je het script hebt beschadig.

als het beschadigt is dan haal je het script gewoon opnieuw van internet, anders moet je gewoon even kijken welke link je wel moet hebben, en zet je hem er gewoon goed neer, lijkt mij eerlijke gezegd wel eenvoudig, zorg er dan wel voor dat je eerst met de domeinnaam begint zodat je zeker weet dat je wel goed uitkomt, want als je met "" begint zal je waarschijnlijk nooit goed uitkomen.

als je bijvoorbeeld een website neemt.

je hebt de hoofdmap.

en 2 zij mappen

als je dan uit 1 v/d zijmappen en linkt stuurt naar een ander item in die zijmap,

is de url "/item.html" iets heel anders dan de url "item.html'

(volgens mij was het zo)

dat je bij de eerste item.html uit de hoofdmap nam.

en bij de tweede dat je item.html uit de map nam waar het bestand zich bevindt dat je dan afspeelt (de html waar je de link van volgt).

anders zou ik het ook niet weten.

aangepast door ecence
Link naar reactie
Delen op andere sites

Heb in een ver verleden vele scripts zelf geschreven. Probeer nu een beetje de draad terug op te nemen.

Ik zie echter echt niet wat ik nu mis doe.

Het script opnieuw laden en installeren had ik al enkele keren gedaan.

De url wordt nu al telkens met domeinnaam vermeld.

Link naar reactie
Delen op andere sites

ik heb ff gekeken.

This is a fill-out form to add a new entry into the guestbook. You will need to

edit parts of it to correct urls and names of things, but leave the basic field

names in place in the form. You will also need to change the action of the form

to point to the guestbook.pl file you placed in your cgi-bin. The action of the

form should be the same as the $cgiurl variable you

configured in your guestbook.pl file.

dus je moet ook in guestbook.pl de url veranderen van de variabel $cgiurl

dit is dus de addguest.html.

<html>

<head>

<title>Add to our Guestbook</title>

</head>

<body>

<center>

<h1>Add to our Guestbook</h1>

</center>

Fill in the blanks below to add to our guestbook. The only blanks that you

have to fill in are the comments and name section. Thanks!<hr>

<form method=POST action="veranderen in je url">

Your Name:<input type=text name=realname size=30><br>

E-Mail: <input type=text name=username size=40><br>

URL: <input type=text name=url size=50><br>

City: <input type=text name=city size=15>, State: <input type=text name=state size=2> Country: <input type=text value=USA name=country size=15><p>

Comments:<br>

<textarea name=comments COLS=60 ROWS=4></textarea><p>

<input type=submit> * <input type=reset>

</form>

<hr>

</body>

</html>

maar in guestbook.pl

#!/usr/bin/perl

##############################################################################

# Guestbook Version 2.3.1 #

# Copyright 1996 Matt Wright mattw@scriptarchive.com #

# Created 4/21/95 Last Modified 10/29/95 #

# Scripts Archive at: Matt's Script Archive, Inc. :: Free Perl CGI Scripts #

##############################################################################

# COPYRIGHT NOTICE #

# Copyright 1996 Matthew M. Wright All Rights Reserved. #

# #

# Guestbook may be used and modified free of charge by anyone so long as #

# this copyright notice and the comments above remain intact. By using this #

# code you agree to indemnify Matthew M. Wright from any liability that #

# might arise from it's use. #

# #

# Selling the code for this program without prior written consent is #

# expressly forbidden. In other words, please ask first before you try and #

# make money off of my program. #

# #

# Obtain permission before redistributing this software over the Internet or #

# in any other medium. In all cases copyright and header must remain intact.#

##############################################################################

# Set Variables

$guestbookurl = "http://your.host.com/~yourname/guestbook.html";

$guestbookreal = "/home/yourname/public_html/guestbook.html";

$guestlog = "/home/yourname/public_html/guestlog.html";

$cgiurl = "deze ook veranderen in je url";

$date_command = "/usr/bin/date";

# Set Your Options:

$mail = 0; # 1 = Yes; 0 = No

$uselog = 1; # 1 = Yes; 0 = No

$linkmail = 1; # 1 = Yes; 0 = No

$separator = 1; # 1 = <hr>; 0 = <p>

$redirection = 0; # 1 = Yes; 0 = No

$entry_order = 1; # 1 = Newest entries added first;

# 0 = Newest Entries added last.

$remote_mail = 0; # 1 = Yes; 0 = No

$allow_html = 1; # 1 = Yes; 0 = No

$line_breaks = 0; # 1 = Yes; 0 = No

# If you answered 1 to $mail or $remote_mail you will need to fill out

# these variables below:

$mailprog = '/usr/lib/sendmail';

$recipient = 'you@your.com';

# Done

##############################################################################

# Get the Date for Entry

$date = `$date_command +"%A, %B %d, %Y at %T (%Z)"`; chop($date);

$shortdate = `$date_command +"%D %T %Z"`; chop($shortdate);

# Get the input

read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});

# Split the name-value pairs

@pairs = split(/&/, $buffer);

foreach $pair (@pairs) {

($name, $value) = split(/=/, $pair);

# Un-Webify plus signs and %-encoding

$value =~ tr/+/ /;

$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

$value =~ s/<!--(.|\n)*-->//g;

if ($allow_html != 1) {

$value =~ s/<([^>]|\n)*>//g;

}

$FORM{$name} = $value;

}

# Print the Blank Response Subroutines

&no_comments unless $FORM{'comments'};

&no_name unless $FORM{'realname'};

# Begin the Editing of the Guestbook File

open (FILE,"$guestbookreal") || die "Can't Open $guestbookreal: $!\n";

@LINES=<FILE>;

close(FILE);

$SIZE=@LINES;

# Open Link File to Output

open (GUEST,">$guestbookreal") || die "Can't Open $guestbookreal: $!\n";

for ($i=0;$i<=$SIZE;$i++) {

$_=$LINES[$i];

if (/<!--begin-->/) {

if ($entry_order eq '1') {

print GUEST "<!--begin-->\n";

}

if ($line_breaks == 1) {

$FORM{'comments'} =~ s/\cM\n/<br>\n/g;

}

print GUEST "<b>$FORM{'comments'}</b><br>\n";

if ($FORM{'url'}) {

print GUEST "<a href=\"$FORM{'url'}\">$FORM{'realname'}</a>";

}

else {

print GUEST "$FORM{'realname'}";

}

if ( $FORM{'username'} ){

if ($linkmail eq '1') {

print GUEST " \<<a href=\"mailto:$FORM{'username'}\">";

print GUEST "$FORM{'username'}</a>\>";

}

else {

print GUEST " <$FORM{'username'}>";

}

}

print GUEST "<br>\n";

if ( $FORM{'city'} ){

print GUEST "$FORM{'city'},";

}

if ( $FORM{'state'} ){

print GUEST " $FORM{'state'}";

}

if ( $FORM{'country'} ){

print GUEST " $FORM{'country'}";

}

if ($separator eq '1') {

print GUEST " - $date<hr>\n\n";

}

else {

print GUEST " - $date<p>\n\n";

}

if ($entry_order eq '0') {

print GUEST "<!--begin-->\n";

}

}

else {

print GUEST $_;

}

}

close (GUEST);

# Log The Entry

if ($uselog eq '1') {

&log('entry');

}

#########

# Options

# Mail Option

if ($mail eq '1') {

open (MAIL, "|$mailprog $recipient") || die "Can't open $mailprog!\n";

print MAIL "Reply-to: $FORM{'username'} ($FORM{'realname'})\n";

print MAIL "From: $FORM{'username'} ($FORM{'realname'})\n";

print MAIL "Subject: Entry to Guestbook\n\n";

print MAIL "You have a new entry in your guestbook:\n\n";

print MAIL "------------------------------------------------------\n";

print MAIL "$FORM{'comments'}\n";

print MAIL "$FORM{'realname'}";

if ( $FORM{'username'} ){

print MAIL " <$FORM{'username'}>";

}

print MAIL "\n";

if ( $FORM{'city'} ){

print MAIL "$FORM{'city'},";

}

if ( $FORM{'state'} ){

print MAIL " $FORM{'state'}";

}

if ( $FORM{'country'} ){

print MAIL " $FORM{'country'}";

}

print MAIL " - $date\n";

print MAIL "------------------------------------------------------\n";

close (MAIL);

}

if ($remote_mail eq '1' && $FORM{'username'}) {

open (MAIL, "|$mailprog -t") || die "Can't open $mailprog!\n";

print MAIL "To: $FORM{'username'}\n";

print MAIL "From: $recipient\n";

print MAIL "Subject: Entry to Guestbook\n\n";

print MAIL "Thank you for adding to my guestbook.\n\n";

print MAIL "------------------------------------------------------\n";

print MAIL "$FORM{'comments'}\n";

print MAIL "$FORM{'realname'}";

if ( $FORM{'username'} ){

print MAIL " <$FORM{'username'}>";

}

print MAIL "\n";

if ( $FORM{'city'} ){

print MAIL "$FORM{'city'},";

}

if ( $FORM{'state'} ){

print MAIL " $FORM{'state'}";

}

if ( $FORM{'country'} ){

print MAIL " $FORM{'country'}";

}

print MAIL " - $date\n";

print MAIL "------------------------------------------------------\n";

close (MAIL);

}

# Print Out Initial Output Location Heading

if ($redirection eq '1') {

print "Location: $guestbookurl\n\n";

}

else {

&no_redirection;

}

#######################

# Subroutines

sub no_comments {

print "Content-type: text/html\n\n";

print "<html><head><title>No Comments</title></head>\n";

print "<body><h1>Your Comments appear to be blank</h1>\n";

print "The comment section in the guestbook fillout form appears\n";

print "to be blank and therefore the Guestbook Addition was not\n";

print "added. Please enter your comments below.<p>\n";

print "<form method=POST action=\"$cgiurl\">\n";

print "Your Name:<input type=text name=\"realname\" size=30 ";

print "value=\"$FORM{'realname'}\"><br>\n";

print "E-Mail: <input type=text name=\"username\"";

print "value=\"$FORM{'username'}\" size=40><br>\n";

print "City: <input type=text name=\"city\" value=\"$FORM{'city'}\" ";

print "size=15>, State: <input type=text name=\"state\" ";

print "value=\"$FORM{'state'}\" size=15> Country: <input type=text ";

print "name=\"country\" value=\"$FORM{'country'}\" size=15><p>\n";

print "Comments:<br>\n";

print "<textarea name=\"comments\" COLS=60 ROWS=4></textarea><p>\n";

print "<input type=submit> * <input type=reset></form><hr>\n";

print "Return to the <a href=\"$guestbookurl\">Guestbook</a>.";

print "\n</body></html>\n";

# Log The Error

if ($uselog eq '1') {

&log('no_comments');

}

exit;

}

sub no_name {

print "Content-type: text/html\n\n";

print "<html><head><title>No Name</title></head>\n";

print "<body><h1>Your Name appears to be blank</h1>\n";

print "The Name Section in the guestbook fillout form appears to\n";

print "be blank and therefore your entry to the guestbook was not\n";

print "added. Please add your name in the blank below.<p>\n";

print "<form method=POST action=\"$cgiurl\">\n";

print "Your Name:<input type=text name=\"realname\" size=30><br>\n";

print "E-Mail: <input type=text name=\"username\"";

print " value=\"$FORM{'username'}\" size=40><br>\n";

print "City: <input type=text name=\"city\" value=\"$FORM{'city'}\" ";

print "size=15>, State: <input type=text name=\"state\" ";

print "value=\"$FORM{'state'}\" size=2> Country: <input type=text ";

print "value=USA name=\"country\" value=\"$FORM{'country'}\" ";

print "size=15><p>\n";

print "Comments have been retained.<p>\n";

print "<input type=hidden name=\"comments\" ";

print "value=\"$FORM{'comments'}\">\n";

print "<input type=submit> * <input type=reset><hr>\n";

print "Return to the <a href=\"$guestbookurl\">Guestbook</a>.";

print "\n</body></html>\n";

# Log The Error

if ($uselog eq '1') {

&log('no_name');

}

exit;

}

# Log the Entry or Error

sub log {

$log_type = $_[0];

open (LOG, ">>$guestlog");

if ($log_type eq 'entry') {

print LOG "$ENV{'REMOTE_HOST'} - [$shortdate]<br>\n";

}

elsif ($log_type eq 'no_name') {

print LOG "$ENV{'REMOTE_HOST'} - [$shortdate] - ERR: No Name<br>\n";

}

elsif ($log_type eq 'no_comments') {

print LOG "$ENV{'REMOTE_HOST'} - [$shortdate] - ERR: No ";

print LOG "Comments<br>\n";

}

}

# Redirection Option

sub no_redirection {

# Print Beginning of HTML

print "Content-Type: text/html\n\n";

print "<html><head><title>Thank You</title></head>\n";

print "<body><h1>Thank You For Signing The Guestbook</h1>\n";

# Print Response

print "Thank you for filling in the guestbook. Your entry has\n";

print "been added to the guestbook.<hr>\n";

print "Here is what you submitted:<p>\n";

print "<b>$FORM{'comments'}</b><br>\n";

if ($FORM{'url'}) {

print "<a href=\"$FORM{'url'}\">$FORM{'realname'}</a>";

}

else {

print "$FORM{'realname'}";

}

if ( $FORM{'username'} ){

if ($linkmail eq '1') {

print " <<a href=\"mailto:$FORM{'username'}\">";

print "$FORM{'username'}</a>>";

}

else {

print " <$FORM{'username'}>";

}

}

print "<br>\n";

if ( $FORM{'city'} ){

print "$FORM{'city'},";

}

if ( $FORM{'state'} ){

print " $FORM{'state'}";

}

if ( $FORM{'country'} ){

print " $FORM{'country'}";

}

print " - $date<p>\n";

# Print End of HTML

print "<hr>\n";

print "<a href=\"$guestbookurl\">Back to the Guestbook</a>\n"; print "- You may need to reload it when you get there to see your\n";

print "entry.\n";

print "</body></html>\n";

exit;

}

---------- Post toegevoegd om 16:36 ---------- Vorige post was om 16:34 ----------

en als je de rest ook even goed naaloopt en verander moet het wel lukken, anders zou ik het ook niet weten,( gewoon zelf snel een scriptje maken).

mvg,

Siem.W

Link naar reactie
Delen op andere sites

×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.