[CGI] Wat doe ik fout? Eenvoudig form met cgi-script

Pagina: 1
Acties:
  • 221 views sinds 30-01-2008
  • Reageer

  • mrbombastic
  • Registratie: Oktober 2002
  • Laatst online: 13-02 21:29
Ik wil een eenvoudig cgi-script aan een formulier koppelen. Maar het lukt me niet helemaal. Wat heb ik al?

Het HTML-document
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<HTML> 
<HEAD> 
<TITLE>Guestbook Script</TITLE>

</HEAD>

<BODY BGCOLOR="#FFFFFF">

<FORM METHOD="post" ACTION="cgi-bin/guestbook.cgi">

<INPUT NAME="name" SIZE=50 TYPE="text"> <B>Your Name</B><BR>
<INPUT NAME="email" SIZE=50 TYPE="text"> <B>Your E-Mail Address</B><BR>
<INPUT TYPE="hidden" NAME="submitaddress" VALUE="mijnemail@mijnhost.com">
<B>Write to me below:</B><P>
<TEXTAREA NAME="feedback" ROWS=10 COLS=50></TEXTAREA><P>

<CENTER>
<INPUT TYPE=submit VALUE="SEND">
<INPUT TYPE=reset VALUE="CLEAR">
</CENTER>

</FORM>

</BODY> 
</HTML>


En het CGI-script
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/usr/bin/perl

# That is the path to PERL just above It MUST be first in the script
# The following accepts the data from the form 

if ($ENV{'REQUEST_METHOD'} eq 'POST') {

    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;

    $FORM{$name} = $value;
    }


# The following sends the email 

    open (MESSAGE,"| /usr/lib/sendmail -t");

    print MESSAGE "To: $FORM{submitaddress}\n";
    print MESSAGE "From: $FORM{name}\n";
    print MESSAGE "Reply-To: $FORM{email}\n";

    print MESSAGE "Subject: Feedback from $FORM{name} at $ENV{'REMOTE_HOST'}\n\n";
    print MESSAGE "The user wrote:\n\n";
    print MESSAGE "$FORM{feedback}\n";
    close (MESSAGE);

    &thank_you;
} 




#The following creates the Thank You page display 

sub thank_you {

    print "Content-type: text/html\n\n";
    print "<HTML>\n";
    print "<HEAD>\n";
    print "<TITLE>Thank You!</TITLE>\n";
    print "</HEAD>\n";
    print "<BODY BGCOLOR=#FFFFCC TEXT=#000000>\n";
    print "<H1>Thank You!</H1>\n";
    print "\n";
    print "<P>\n";
    print "<H3>Your feedback is greatly appreciated.<BR>\n";
    print "<P>\n";
    print "</BODY>\n";
    print "</HTML>\n";
    exit(0);
}


Als FTP-programma gebruik ik WS_FTP.

Ik heb wel iets gelezen over permissions.
chmod 755 guestbook.cgi
chmod 644 guestbook.html

Maar ik heb geen idee wat het inhoudt.

Wie zou mij kort even uit kunnen leggen, wat ik fout doe?

Before me there was many, after me there will be none. I'm the one!


Verwijderd

waar host je op?
weet je zeker dat het paht naar het cgi programma goed staat?

[ Voor 23% gewijzigd door Verwijderd op 07-05-2003 11:35 ]


  • mrbombastic
  • Registratie: Oktober 2002
  • Laatst online: 13-02 21:29
Ik zit bij Zonnet. Verder is het path wel goed ja.

Before me there was many, after me there will be none. I'm the one!


  • Surehand
  • Registratie: Februari 2003
  • Laatst online: 12-12 16:49
Door het uitvoeren van chmod 755 guestbook.cgi zorg je ervoor dat de cgi file uitvoerbaar wordt voor iedereen. Als je dat niet gedaan hebt, dan zou dat de reden kunnen zijn.

Verwijderd

idd. wat is de foutmelding?

  • salvador4
  • Registratie: Februari 2001
  • Laatst online: 21-12 17:41
als je die cgi files niet chmod zal het inderdaad niet werken..

  • mrbombastic
  • Registratie: Oktober 2002
  • Laatst online: 13-02 21:29
Surehand schreef op 07 mei 2003 @ 11:37:
Door het uitvoeren van chmod 755 guestbook.cgi zorg je ervoor dat de cgi file uitvoerbaar wordt voor iedereen. Als je dat niet gedaan hebt, dan zou dat de reden kunnen zijn.
Hoe doe je dit dan?

De foutmelding is gewoon standaard: de pagina kan niet worden weergegeven.

Before me there was many, after me there will be none. I'm the one!


Verwijderd

met WsFTP rechtermuisknop op guestbook.cgi en dan iets van Unix --> Chmod en dan 755 invoeren en klik op OK

Verwijderd

en natuurlijk guestbook.html even op chmod 644 zetten..

  • mrbombastic
  • Registratie: Oktober 2002
  • Laatst online: 13-02 21:29
Hmmm, volgens mij ondersteunt Zonnet dit niet, want ik krijg als foutmelding bij WSFTP
! Chmod failed. It may not be supported on remote site.

Ik ga wel even een gratis host zoeken met cgi-ondersteuning en dan hopen dat ie het wel doet.

[ Voor 26% gewijzigd door mrbombastic op 07-05-2003 11:50 ]

Before me there was many, after me there will be none. I'm the one!


  • pjonk
  • Registratie: November 2000
  • Laatst online: 11-12 18:02
Lijkt me zoiezo niet dat Zonnet CGI scripts ondersteunt behalve misschien als je een duurder abonnement zou hebben.
Ik ben begonnen met experimenteren met Perl CGI scripts bij www.hypermart.net. Geen idee of dat nu nog gratis is.

It’s nice to be important but it’s more important to be nice


Verwijderd

Ik ga wel even een gratis host zoeken met cgi-ondersteuning en dan hopen dat ie het wel doet.
www.freeonline.nl


snelle servers met 10 MB webruimte & cgi ondersteuning

  • mrbombastic
  • Registratie: Oktober 2002
  • Laatst online: 13-02 21:29
Verwijderd schreef op 07 May 2003 @ 12:24:
[...]


www.freeonline.nl


snelle servers met 10 MB webruimte & cgi ondersteuning
Moet je hier niet lid zijn? Lijkt me geen optie dan.

Before me there was many, after me there will be none. I'm the one!


Verwijderd

je kunt je gewoon aanmelden bij freeonline ( http://aanmelden.freeonline.nl/ ) bankrek nr. hoef je nie in te vullen.

je zult een paar dagen hierna een brief thuiskrijgen met je inloggegevens voor ftp & pop3, let wel op dat je je path naar het cgi programma veranderd..

  • mrbombastic
  • Registratie: Oktober 2002
  • Laatst online: 13-02 21:29
Ik heb me nu aangemeld bij Portland maar het lukt nog steeds niet.
Hier staat de pagina: http://degoeij.port5.com/form.html

Bij de form.html heb ik chmod 644 gedaan
en bij guestbook.cgi heb ik chmod 755 gedaan

Dit is nog wat info die ik van ze meekreeg via email:

Some cgi\'s need a full path name to work. Add /home/username
to the path name.

perl version 5 = /usr/local/bin/perl
sendmail = /usr/lib/sendmail

Iemand enige verklaring waarom het niet werkt.

Before me there was many, after me there will be none. I'm the one!


  • salvador4
  • Registratie: Februari 2001
  • Laatst online: 21-12 17:41
mrbombastic schreef op 07 May 2003 @ 15:26:
Ik heb me nu aangemeld bij Portland maar het lukt nog steeds niet.
Hier staat de pagina: http://degoeij.port5.com/form.html

Bij de form.html heb ik chmod 644 gedaan
en bij guestbook.cgi heb ik chmod 755 gedaan

Dit is nog wat info die ik van ze meekreeg via email:

Some cgi\'s need a full path name to work. Add /home/username
to the path name.

perl version 5 = /usr/local/bin/perl
sendmail = /usr/lib/sendmail

Iemand enige verklaring waarom het niet werkt.
heb je /usr/bin/perl uit het script veranderd naar /usr/local/bin/perl ?

  • vliegjong
  • Registratie: Januari 2003
  • Laatst online: 08-08-2017

vliegjong

Bump!

chmod form.html 755
chmod geustbook.cgi 755 (staat ut al)

Ik ben een Nerd, jij ook? Dan zijn er namelijk 10 toffe mensen :)


  • mrbombastic
  • Registratie: Oktober 2002
  • Laatst online: 13-02 21:29
Nou kom ik die kl*te-site niet eens meer op! En 15 min geleden deed ie het nog. FTP-en lukt gewoon, maar als ik de pagina dan wil openen in mijn browser dan kan die de pagina niet weergeven :(.

Werkt bij jullie deze link nog: http://degoeij.port5.com/form.html ?

[ Voor 8% gewijzigd door mrbombastic op 07-05-2003 16:34 ]

Before me there was many, after me there will be none. I'm the one!


Verwijderd

zie het formulier wel maar naar verzenden krijg ik dit:

ERROR 404 PAGE NOT FOUND
Click here to continue

Verwijderd

Wat gebeurt er als je de gegenereerde email ook naar het scherm dumpt?

In het html form is post LC en in je script UC.

HTML: <FORM METHOD="post" ACTION="cgi-bin/guestbook.cgi">
CGI: if ($ENV{'REQUEST_METHOD'} eq 'POST') {

en staat er misschien iets in het errorlog.

Verwijderd

is het niet zo dat je bij portland je cgi file in de cgi-bin moet dumpen?
probeer dat eens, let wel op dat je de referenties van de html file naar de cgi file aanpast want de html file moet namelijk wel gewoon in de normale directory blijven staan.

  • Billie
  • Registratie: Januari 2003
  • Laatst online: 20-12 21:09
Ik heb zelf ook Zon, maar het kan gewoon niet
> Kan ik ook gebruik maken van PHP3 scripts en MySQL database?
Nee, u kunt bij ons geen scripts of databases gebruiken. Daarvoor verwijzen wij u door naar www.vuurwerk.nl. Zon richt zich voornamelijk op de consument en biedt deze service niet aan. Vuurwerk biedt deze mogelijkheden wel. Vuurwerk is een volle dochteronderneming van Versatel. Het telefoonnummer van Vuurwerk is: 023-5111111 of kijk op www.vuurwerk.nl.
http://www.zonnet.nl/helpdesk/topic/0,1890,861,00.html#865

  • mrbombastic
  • Registratie: Oktober 2002
  • Laatst online: 13-02 21:29
Verwijderd schreef op 08 May 2003 @ 22:22:
is het niet zo dat je bij portland je cgi file in de cgi-bin moet dumpen?
probeer dat eens, let wel op dat je de referenties van de html file naar de cgi file aanpast want de html file moet namelijk wel gewoon in de normale directory blijven staan.
Dit heb ik ook gedaan natuurlijk. Maar het werkt nog steeds niet.

En ik ga niet betalen voor een CGI-script te hosten, tssss. 8)7

Ik zoek een gratis host zonder reclame of banners of popups, zoiets als Portland dus. Maar ik moet het alleen nog aan de praat zien te krijgen.

Before me there was many, after me there will be none. I'm the one!


Verwijderd

Ik heb wél betaald voor mijn host, sterker ik heb drie verschillende abo's voor drie websites. Nu ik cgi-forms gemaakt en geupload heb, blijken ze niet toe te staan dat ik cgi's upload.

Een cgi-form is dus geen optie. Hoe kan ik toch een form maken dat doet wat ik wil, zonder cgi?

Ik wil dat het form een aantal required fields checkt en meldt welke velden nog niet ingevuld zijn en ik wil kunnen instellen naar welk e-mailadres het form gemaild wordt, het liefst versleuteld natuurlijk zodat ze het adres niet in de source kunnen zien.

Dit heb ik nu dus allemaal keurig ingesteld in de cgi's, maar die mag ik niet gebruiken.

  • SinergyX
  • Registratie: November 2001
  • Nu online

SinergyX

____(>^^(>0o)>____

erge bumb van een oude topic, maargoed :)
Kan je geen php gebruiken? dat wordt toch wel 99% van de betaalde hosts ondersteund en heeft een erg groot scala aan scripts op het internet beschikbaar.

Nog 1 keertje.. het is SinergyX, niet SynergyX
Im as excited to be here as a 42 gnome warlock who rolled on a green pair of cloth boots but was given a epic staff of uber awsome noob pwning by accident.


  • BalusC
  • Registratie: Oktober 2000
  • Niet online

BalusC

Carpe diem

Dit kan ook makkelijk met php. Is dat geen optie? Ben je je er verder van bewust dat dit een oud topic is en je beter gewoon een nieuw topic had kunnen openen, al dan niet met een verwijzing naar topics die je met de search had gevonden? :)

Verwijderd

Ok, zal ik volgende keer doen. Met php heb ik het nog nooit gedaan, dus ik weet niet of dat een optie is. Is dat net zo makkelijk als cgi?

  • SinergyX
  • Registratie: November 2001
  • Nu online

SinergyX

____(>^^(>0o)>____

je kan kijken op de bekende hotscripts.com (mag dat hier?) , daar kan je enorm groot aantal form-mailers vinden. Opzicht vind ik PHP iets makkelijker, vaak is zo'n script 2 regels instellen en gaan :)

Nog 1 keertje.. het is SinergyX, niet SynergyX
Im as excited to be here as a 42 gnome warlock who rolled on a green pair of cloth boots but was given a epic staff of uber awsome noob pwning by accident.

Pagina: 1