• 0

Creating an HTML Contact Form


Question

Hi everyone. I don't work in HTML very often at all, but I am working on a simple website presently and wanted to add a contact form, but our hosting is Windows, so php is not an option. So I was wondering if I was able to create a simple contact page in html. I've never attempted to do so before, and after searching online didn't find a way that this has been accomplished, so I wanted to ask on here.

So, what suggestions would those that are much more familiar with HTML than I have? Any help is greatly appreciated.

Thanks Again,

Link to comment
https://www.neowin.net/forum/topic/1133986-creating-an-html-contact-form/
Share on other sites

8 answers to this question

Recommended Posts

  • 0

there's no excuse to rely on the client to handle forms in this day and age. write a mailing script in whatever language your host does support.

Thanks everyone for your responses. I have windows hosting, so I could write something in C# as an example (That's what I use for desktop development).

I guess my question though would be how to do that... I know it's broad, but I've never done anything like that. Would I create the UI in the HTML document and then on Send button click somehow use the C# code? I'm very intrigued by your post, but I honestly don't understand how this would be accomplished. Like I said, I very infrequently do web work, so while sending an e-mail is no problem on the desktop, I am unsure of how to do that through an HTML page.

Thanks Again everyone for your help.

  • 0

Thanks everyone for your responses. I have windows hosting, so I could write something in C# as an example (That's what I use for desktop development).

I guess my question though would be how to do that... I know it's broad, but I've never done anything like that. Would I create the UI in the HTML document and then on Send button click somehow use the C# code? I'm very intrigued by your post, but I honestly don't understand how this would be accomplished. Like I said, I very infrequently do web work, so while sending an e-mail is no problem on the desktop, I am unsure of how to do that through an HTML page.

Thanks Again everyone for your help.

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.

  • 0

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.co.uk/scripts/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.co.uk/scripts/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.

This topic is now closed to further replies.
  • Posts

    • Forza Horizon 6 gets big bug-fixing and balancing update by Taras Buria Today, Playground Games released a big Forza Horizon 6 update with a long list of fixes, patches, and balancing tweaks that the studio promised earlier. Version 375.327 is now available on Steam, Microsoft Store, and Xbox, offering users improvements for AI, audio, design, performance, road discovery, upgrades, visuals, online play, and more. Some of the most notable changes in the Series 2 update include rebalanced drivatars, particularly their difficulty and race start behavior. As such, the game should be more balanced on higher difficulty levels, and AI cars should not shoot out when the race starts as if they have rocket boosters. Speaking of difficulty, developers nerfed Drag Tires physics for a more expected and realistic behavior. They are no longer the go-to option for record-breaking times in road racing, and all leaderboard entries with drag tires will be removed. Completionists will also be glad to get a new feature that lets you see road discovery percentage in each region, which should make discovering all roads easier while keeping it quite challenging and interesting (I spent quite a long time finding the last road). Festival Playlist is also getting some much-needed fixes, including patches for bugs that allowed completing Seasonal Jobs ahead of time or where weekly challenges would not unlock for some players. Developers will retroactively give reward points to all who could not complete all challenges due to these bugs. Other changes include changes to Horizon Play progression so that it is easier to reach Level 100, audio improvements on lower-spec devices, fixes for visual glitches, including pixelated smoke, and more. Developers also addressed the currently non-working Eliminator, an online mode gamers used to farm credits with a Hummer EV exploit. Playground Games plans to re-enable it soon. As a gesture of goodwill, players will get a free McLaren Sabre. Those who used the exploit will not be banned, but developers plan to roll back credits to a maximum of 10M for all who farmed credits using the exploit. You can find the complete changelog for the latest Forza Horizon 6 update here.
    • "Samsung is shutting down yet another app used by millions" I will fix the clickbait title for you, free-of-charge: "Samsung shutting down it's Max VPN app"
    • Microsoft brings Planner Agent to all Microsoft 365 Copilot users by Ivan Jenic Image: Microsoft Microsoft has announced that Planner Agent in Microsoft 365 Copilot is now generally available to all users with a Microsoft 365 Copilot license. Planner Agent is the latest addition in the string of AI features that Microsoft is implementing across virtually all of its products. The agent lets you manage tasks through natural language prompts directly inside Microsoft 365 Copilot. You can create and update tasks, check priorities, and get insights about current entries without leaving the chat interface. The general availability release comes with a handful of new additions on top of what was available during the initial rollout. A new plan picker lets you search and filter your plans by name, then update task names, statuses, due dates, or priorities through the agent. There's also a goals bucket now, which lets you group tasks under specific goals. This builds on the Goals view, a feature that was introduced as part of the broader Planner refresh that rolled out earlier. Image: Microsoft | Planner Agent in Microsoft 365 Copilot All AI-generated plans and tasks are created in draft mode by default, so you can review and approve changes before anything goes through. This is actually a thoughtful safety feature, because trusting AI to handle all your tasks without a human in the loop is usually a recipe for disaster. Having tasks initially saved as drafts is the best possible middle ground. Microsoft also says that not all tasks are executed equally. Simple tasks get processed quickly, while more complex ones, like building a plan from a Word, Excel, or PowerPoint file, are handed to a more capable model. Microsoft says this approach delivers the best performance, but it could also help with usage management, as you won't have to waste tokens on performing simple tasks. Planner Agent is available now across Teams, Loop, SharePoint, and other Microsoft 365 apps for anyone on a Microsoft 365 Copilot subscription.
    • To be clear I'm anti trump, the bigger point is why review this game at all?
  • Recent Achievements

    • First Post
      Cosminus earned a badge
      First Post
    • One Year In
      ThatGuyOnline earned a badge
      One Year In
    • Week One Done
      Jeroen Wilms earned a badge
      Week One Done
    • Week One Done
      rolfus earned a badge
      Week One Done
    • One Month Later
      Leroy Jethro Gibbs earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      485
    2. 2
      +Edouard
      189
    3. 3
      PsYcHoKiLLa
      122
    4. 4
      Steven P.
      86
    5. 5
      neufuse
      73
  • Tell a friend

    Love Neowin? Tell a friend!