Form mailer CGI script som inte vill fungera.

Permalänk
Medlem

Form mailer CGI script som inte vill fungera.

Hej.

Jag sitter och knåpar på ett beställningsformulär åt en kompis webbplats, jag får dock det inte mitt CGI skript att fungera... De ger mig just nu detta felmeddelande:

Citat:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, drift@loopia.se and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Apache/2.2.22 (FreeBSD) PHP/5.3.10 with Suhosin-Patch Server at ** Port 80

Jag har dolt webbadressen, är det viktigt att ni behöver denna för att kunna hjälpa så kan jag ordna det i ett PM.

Det jag vill att skriptet ska göra är att ta informationen ur ett "FORM" i mitt html dokument och skicka detta som ett mail till en epost adress. Det är första gången jag ger mig in på så avancerad skriptskrivning och jag har lite dålig koll på vart jag ska börja. Det enda jag har testat är både binär och ASCII som överföringssätt i FTP klienten samt att det ska vara ordnat med filrättigheter (chmod 755).

Skriptet kommer här nedan:

#!/usr/bin/perl use CGI; # Create the CGI object my $query = new CGI # Output the http header print $query->header ( ); # Capture the form results my $namn = $query->param("namn"); my $adress = $query->param("adress"); my $email = $query->param("email"); my $color = $query->param("color"); my $dosantext = $query->param("dosantext"); my $dosantext2 = $query->param("dosantext2"); my $melodi = $query->param("melodi"); my $ovrigt = $query->param("ovrigt"); # Filter the form results $namn = filter_field ( $namn ); $adress = filter_field ( $adress ); $email = filter_header_field ( $email ); $color = filter_field ( $color ); $dosantext = filter_field ( $dosantext ); $dosantext2 = filter_field ( $dosantext2 ); $melodi = filter_field ( $melodi ); $ovrigt = filter_field ( $ovrigt ); # Email the form results open ( MAIL, "| /usr/sbin/sendmail -t" ); print MAIL "From: $email\n"; print MAIL "To: \@gmail.com\n"; print MAIL "Subject: Beställning\n\n"; print MAIL "$namn\n"; print MAIL "$email\n"; print MAIL "$adress\n"; print MAIL "$color\n"; print MAIL "$dosanstext\n"; print MAIL "$dosanstext2\n"; print MAIL "$melodi\n"; print MAIL "$ovrigt\n"; print MAIL "\n.\n"; close ( MAIL ); # Functions for filtering user input sub filter_field { my $field = shift; $field =~ s/From://gi; $field =~ s/To://gi; $field =~ s/BCC://gi; $field =~ s/CC://gi; $field =~ s/Subject://gi; $field =~ s/Content-Type://gi; return $field; } sub filter_header_field { my $field = shift; $field =~ s/From://gi; $field =~ s/To://gi; $field =~ s/BCC://gi; $field =~ s/CC://gi; $field =~ s/Subject://gi; $field =~ s/Content-Type://gi; $field =~ s/[\0\n\r\|\!\/\<\>\^\$\%\*\&]+/ /g; return $field; }

Visa signatur

Do the best with your life

Permalänk
Medlem

# Create the CGI object my $query = new CGI;

Visa signatur

Desktop: i7 2600k @ 4.2GHz, RX480, z77-MPOWER, 16GB DDR3, 120GB+240GB SSD, 3TB HDD, FD R4, 750W
Laptop: Asus x550J + MSI GE620DX | Mobil: Nexus 6P + Nokia X2 DS | Konsol: PS4, PS3 & PSVita

Permalänk
Medlem

Ska testa omgående, ibland missar man verkligen det enklaste

Skickades från m.sweclockers.com

Visa signatur

Do the best with your life

Permalänk
Medlem
Skrivet av Talisman:

Ska testa omgående, ibland missar man verkligen det enklaste

Skickades från m.sweclockers.com

Du kan köra dina cgi script manuelt genom tolken för att se att den har korrekt syntax:
perl -wc script.cgi

Visa signatur

Desktop: i7 2600k @ 4.2GHz, RX480, z77-MPOWER, 16GB DDR3, 120GB+240GB SSD, 3TB HDD, FD R4, 750W
Laptop: Asus x550J + MSI GE620DX | Mobil: Nexus 6P + Nokia X2 DS | Konsol: PS4, PS3 & PSVita