• 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

    • Waymo recalls self-driving software after cars enter closed freeway work zones by Paul Hill Waymo, the self-driving car maker owned by Alphabet – the parent company of Google –, has recalled some of its fifth-generation Automated Driving Systems (ADS). It did so after some of its cars drove through closed construction zones. According to the National Highway Traffic Safety Administration (NHTSA), the affected vehicles were capable of driving through a closed freeway construction zone and continuing to drive at speed. The listing on the NHTSA website says that Waymo is currently developing a solution to fix this issue, but in the meantime, freeway driving is being restricted. Waymo will update its ADS software so that vehicles can detect when they can avoid entering construction zones. According to the Safety Recall Report, on April 20, 2026, Waymo’s Field Safety Committee began meetings reviewing an event from April 11, 2026, and five events from April 19, 2026, where Waymo’s autonomous vehicles didn’t recognize and drove past ramp closure signs into the pre-planned freeway construction zones. This took place in Phoenix, Arizona. Separately, on May 18, 2026, seven Waymo vehicles entered freeway lanes with active construction in the San Francisco Bay Area by driving between cones that were placed to show the lane was closed. On the back of both of these events, Waymo restricted freeway driving until it could address the issue. In June, Waymo’s Safety Board reviewed the issue and additional information related to ADS performances around construction zones; then, as a result, it decided to conduct a recall. This development is not good for Waymo as it adds to a growing list of technical hiccups its cars have experienced. Ultimately, it will lead to more scrutiny from lawmakers around the world who will be more cautious about letting autonomous vehicles on their roads without tighter regulation. For readers in areas where Waymo operates, does this news make you more wary about stepping into one of these vehicles?
    • I'm still on Windows 10 22H2 because I didn't want to deal with all the issues in Windows 11, so I waited almost a week before installing the latest Patch Tuesday update (KB5094127), I went ahead and did it, and it was a huge mistake—ever since then, my File Explorer has seen a performance drop of about 30% when transferring large files... Once again, Microsoft has outdone itself! This update cannot be uninstalled, either through the Control Panel (via Settings) or by accessing Advanced Startup Options. The only possible alternative would be to use system restore points, but I’d have to reinstall all app and driver updates (and there’s no guarantee it would work). Or there’s the “nuclear option” of a in-place repair without losing files or apps, but even then, all my customizations would be lost! Microsoft just can’t help but mess everything up! Way to go, Microsoft! But I still don’t want your c****y Windows 11!
    • Microsoft: Windows 11 could finally solve a major issue across AMD, Nvidia, and Intel GPUs by Sayan Sen While Microsoft has been trying to improve it, Windows 11 is definitely not flawless, as even today some issues are taking a year to publicly acknowledge. However, one area of trouble that may finally see much better results soon is graphics driver crashes. Work on graphics driver timeouts, also called Timeout and Detection Recovery (TDR), is not new as the latest WDDM 3.2 also has specific improvements regarding it. Windows Display Driver Model (WDDM) version 3.2 is supported on Windows 11 24H2 and 25H2. However, with the upcoming version 26H2, TDR crash diagnosis could go to the next level as Microsoft is introducing a new DirectX 12 API feature called "DirectX Dump Files". Similar to how system memory dump files work when a system crashes or freezes or encounters any such major issue, DirectX Dump Files (DDF) will essentially record a snapshot of the GPU execution right at the moment a graphics-related crash or hang or freeze occurs, so that developers can better understand and diagnoze these TDR and timeout detection errors. The dump will be available as a .dxdmp file for analysis and it will be a comprehensive dump file generated with detailed insights about the hardware, drivers, Windows, as well as the affected application. This should be another welcome change in this department. Earlier at GDC 2026, when the technology was first debuted, Microsoft had shared more details regarding it. The company had explained how DDF is designed to gather data from every layer of the graphics stack into a single file, eliminating the need for developers to manually correlate logs from multiple tools. As mentioned above, the dump can contain a lot of useful details like GPU hardware state information such as register values, shader program counters, page fault virtual addresses, shader memory data, and command buffers. Alongside that, it also captures DirectX runtime and kernel information, including D3D objects, pipeline state objects, device error data, adapter details, and CPU call stacks. Microsoft says the feature has been built around two primary use cases: retail device removals and local device removals. The former allows developers to collect crash information from end users' systems in the field, while the latter helps QA teams and developers investigate issues on test machines. Developers will also be able to include up to 2 MB of custom application data through new D3D12 APIs, providing additional context for troubleshooting. In addition, Microsoft is introducing three dump collection modes ranging from zero-overhead capture, which has no runtime performance impact on supported hardware, to higher-detail modes that collect more vendor-specific debugging data. On compatible Tier 2 hardware, zero-overhead dumps will be enabled by default, meaning developers may begin receiving useful crash diagnostics without making any code changes. The table below explains the three tiers: Tier Description NO_OVERHEAD Enables crash capture with no runtime cost and is suitable for broad deployment MEDIUM_OVERHEAD Provides a balance, capturing additional diagnostic data with moderate impact HIGH_OVERHEAD Collects the most detailed GPU and driver state available, enabling deeper investigation at the cost of higher runtime overhead In terms of availability, the company expects broader release to be around the fall of 2026, which should be right around the time when Windows 11 version 26H2 lands. Right now, DirectX Dump Files are available as a preview and currently, only AMD has the compatible AgilitySDK Developer Preview driver version 26.10.07.02. You can find the official announcement post here on Microsoft's website.
    • And with SO much better perf than the laggy mess that is Files.
  • Recent Achievements

    • One Month Later
      Sharbel earned a badge
      One Month Later
    • First Post
      BizSAR earned a badge
      First Post
    • Week One Done
      Jordan Smith earned a badge
      Week One Done
    • Reacting Well
      BizSAR earned a badge
      Reacting Well
    • First Post
      AndreaB earned a badge
      First Post
  • Popular Contributors

    1. 1
      +primortal
      598
    2. 2
      +Edouard
      190
    3. 3
      PsYcHoKiLLa
      80
    4. 4
      Michael Scrip
      76
    5. 5
      Steven P.
      69
  • Tell a friend

    Love Neowin? Tell a friend!