primexx, on 01 February 2013 - 23:40, said:
you'd do exactly the same as you would a PHP-based form. Have the HTML form POST to the server side script, and figure out how to read that POSTed data in the language of your choosing and process it from there.
Thanks everyone for all of your help. I think I'm definitely on the right track (I actually wasn't aware of POST). I've never done anything like this before, just basic html pages...
Here's what I have. I found an online tool that generates this, which I thought was pretty handy.
html:
<!-- Website Contact Form Generator -->
<!--
http://www.tele-pro....s/contact_form/ -->
<!-- This script is free to use as long as you -->
<!-- retain the credit link -->
<form method="POST" action="/cgi-bin/contact.cgi">
Fields marked (*) are required
<p>Email From:* <br>
<input type="text" name="EmailFrom">
<p>Subject: <br>
<input type="text" name="Subject">
<p>Name:<br>
<input type="text" name="Name">
<p>Tel:<br>
<input type="text" name="Tel">
<p><input type="submit" name="submit" value="Submit">
</form>
<p>
<!-- Contact Form credit link -->
Created by <a target="_blank"
href="http://www.tele-pro.co.uk/scripts/contact_form/">Contact
Form Generator</a>
CGI (I changed the email address for this post only):
#!/usr/bin/perl
use CGI::Carp qw(fatalsToBrowser);
use CGI qw(:standard);
print "Content-type: text/html \n\n";
# Website Contact Form Generator
#
http://www.tele-pro....s/contact_form/
# This script is free to use as long as you
# retain the credit link
# get posted data into local variables
$input = new CGI;
$EmailFrom = $input->param('EmailFrom');
$EmailTo = "email\@mysite.com";
$Subject = $input->param('Subject');
$Name = $input->param('Name');
$Tel = $input->param('Tel');
# validation
$validationOK=true;
if ($EmailFrom eq '') {$validationOK=false;}
if ($validationOK eq false) {
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
exit;
}
# prepare email body text
$Body .= "Name: ";
$Body .= "$Name";
$Body .= "\n";
$Body .= "Tel: ";
$Body .= "$Tel";
$Body .= "\n";
# send email
use Win32::OLE;
$ex = Win32::OLE->new('CDONTS.NewMail') or die "\nCDONTS error";
$ex->Send($EmailFrom,$EmailTo,$Subject,$Body);
# redirect to success page
print "<meta http-equiv=\"refresh\" content=\"0;URL=ok.htm\">";
But the error I get is:
HTTP Error 404.0 - Not Found
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
Which, O.K., that's no big deal, the post action is directing it to a file that's not there. But I've creating the cgi-bin directory, I've stuck the file in there, I've changed the path to another directory where I put the file. No matter what I do it can't find this file. So, I was wondering if anyone sees something that I'm missing... I figured this would work if the file was where it should be... ?
Thanks Again for all of the help. I really appreciate it.