Frequently Asked Questions about the Feedback Form Script Wizard

FAQ for the's Feedback Form Script Wizard

Frequently Asked Questions (FAQ) about the Feedback Form Wizard

This page lists answers to frequently asked questions about the Feedback Form Script generated by's Feedback Form Script Wizard.

Error Messages Received

This section links to answers to why you get the following error messages, and how to solve them. The error messages are listed in alphabetical order (more or less).

Email Problems: Not receiving email, spam, change of email address, no visitor's email, missing content, etc


Other Errors or Problems

Adding New Functionality to the Script

Miscellaneous Questions

Tutorials on How to Use the Feedback Form Wizard


Answers to Frequently Asked Questions about the Feedback Form Script

Why do I get a "From address not in member domain" error?
Why do I not receive any email unless the visitor enters my email address in the Email field?

All email messages have a "From" header that contains the email address of the sender. The feedback form script sets the "From:" header to whatever email address your visitor enters. Unfortunately, some web hosts do not allow scripts to set the "From:" header in email messages to an address that is outside your domain (or perhaps even to any address that is not the address you signed up with).

For example, if your domain is "", the "From:" header needs to be something like "" for the script to work. Or, if the email address you used when you signed up with the host was "", the only email your visitor can type in that will work is "". Since your visitor is unlikely to have an email address at your domain or the same address as you, the email address he types in will be rejected by your web host, and his message will not be sent.

Here are two possible ways around this problem:

  1. If you use the PHP feedback form, return to the Wizard to generate a new copy of the feedback form script. In the "Compatibility Options" section, put a check in the box 'Set "From:" to the above email address'. Make sure that the email address you enter into the wizard is at the domain name you have situated at your web host (or the email address your web host requires you to have as the "From:" address).

    Once you do this, all messages from your visitors will appear to have come from your own email address. However, the visitor's actual email address is saved in another header, the "Reply-To" header, as well as embedded in your email message. When you hit the "Reply" button of your email software, it should automatically recognize the setting of the "Reply-To" header and send your reply to the correct address.

    If you don't want to receive your emails at your own domain, but at some other third party email provider (like Gmail), create an email forwarding address (sometimes called an "email alias") at your domain using your web host's control panel. Make the address forward all email messages to the third party email provider you use. Then supply the forwarding address that you created to the Wizard. This way, you satisfy both your web host's requirements to have an email address at your domain as well as meet your own preference of using some other email service.

    WARNING: web hosts that impose this kind of limitations on your scripts are also known to impose other limitations as well. For example, I'm told that one such web host sets a limit of 250 messages that can be sent by your form per day. Although you may not think that you're likely to receive so many messages, spammers often dump spam into feedback forms as well. Such spam messages may use up your quota of messages leading to your legitimate messages being lost.

  2. Change to a another commercial web host. If you don't know which to choose, evaluate the web host that I am currently using and see if it suits you.

Why do I get a "Method Not Found", "Method Not Allowed", "405 Method Not Allowed" or "405 Not Allowed" error when I submit my form?
Why do I get an "Invalid Method" or "The HTTP verb used to access this page is not allowed" error when I submit my form?
Why do I see the text of the whole script when I submit my form?
Why do I see the source code of the script when I submit my form?
Why do I see this cryptic text "$linesep . "Reply-To: \"$name\" <$email>" . [...etc...] header( "Location: $thankyouurl" ); exit ; ?>"?
Why am I asked if I want to download/save the "feedback.php" file when I hit the submit button?
Why do I end up at the "feedback.php" file after I hit the submit button?

Chances are that this is because your web server does not support PHP or Perl. If you are running the form on a free web host, or the free web hosting provided by your ISP (Internet provider), this is probably the case. The solution is to use a commercial web host. (You can also find out which web host I currently use on the Which Web Host Would You Recommend? page.)

On the other hand, if you are running the form on a server that you administer yourself, and you know for certain that you have already installed PHP and/or Perl, you might want to check that you have set up the PHP (or Perl) MIME types for your Apache configuration files correctly.

Yet another possibility for this error is that you uploaded the feedback form script with a filename like "feedback.php.txt". Check the filename using your FTP program. If the form has been uploaded with a ".txt" extension, please read "How do I save the feedback form in Notepad without the ".txt" extension?" to find out how to fix the problem.

Why do I get a 'Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set()...'?

If you get this error, it means that PHP was not set up correctly on your web server. Contact your web host and let them know the exact (and full) error message you received. If you are running your own web server on Windows, read my tutorial on how to set up PHP 5 on Windows and PHP 4 for some hints. Read especially the section on "SMTP Server".

Why do I keep getting 500 Internal Server Errors?

Please see the answer to this question.

If the above answer is not relevant to your case, and you are using the Perl script, that is, you know for sure that your host provides both Perl and CGI-BIN access for your account, please read my article, Perl CGI Debugging: Solving a 500 Internal Server Error.

Why do I get a "File Not Found" error when I submit my form?
Why do I get a "Page Not Found" error when I submit my form?
Why do I get a "404 Not Found" error when I submit my form?
Why do I get the message "The page you tried to access does not exist on this server" when I submit my form?

If you get an error message telling you that the file/page was not found after you submit your feedback form, instead of getting your Thank You page, it's probably because of one of these reasons:

  • You didn't create or upload your Thank You page. If you don't know how to create a Thank You page, just use your web editor and type the words "Thank You", save it with the filename you gave the wizard, and upload it to the location you told the wizard earlier.

  • You gave your Thank You page a different filename from the one you gave the Wizard. Sometimes this may be because you called the file "thank you" (with a space in the filename) or used capital letters (uppercase letters) somewhere in your filename (eg "ThankYou.html"). Do not use spaces or capital (uppercase) letters in your filenames unless you know tricks like when to use "%20" or the difference between the case sensitive and case insensitive file systems of different operating systems. If you don't understand my previous sentence and how to work around issues arising from them in URLs and web browsers, don't use spaces or capital letters (uppercase) in your filenames. This applies to all files on your website, not just the feedback form script.

  • You may have placed your Thank You page in a different directory (folder) from that which you gave the Wizard. The same applies to the Error page.

  • You didn't upload (ie, publish) the feedback.php file to the same folder as your feedback form on your web hosting account. To check if you've failed to do this, type, replacing "" with your website's address, directly into your web browser's address bar and hit the ENTER key (or the RETURN key if you use a Mac) on your keyboard. Notice that I said the browser's address bar; do NOT type it into Google or Bing. When you do, you should be mysteriously transported to your feedback form (yes, you will end up at the feedback form, not the script, in spite of what you typed). If so, your feedback.php has been uploaded properly. Try one of the other possibilities instead.

    On the other hand, if you get a File Not Found error when you do this, it's possible that you failed to transfer the feedback.php script to your website. (I say it's "possible" because getting a 404 or File Not Found error when you type the address of the script could also be the result of giving the wrong web address of your feedback form to the Feedback Form Wizard.)

    To fix this, transfer the missing file to the same folder as your feedback form on your site. If you don't know how to do this, please read one of the tutorials listed above. Alternatively, you can also manually upload it yourself using an FTP program.

  • You manually modified the script in some way. If you did, you may have introduced bugs into the script. Use the wizard to generate a fresh copy, and use this fresh copy without making any modifications. If it works, the problem lies with your modifications.

If you get the contents of your feedback form script when you submit your form instead of a "File Not Found" error, see Why do I keep getting back my feedback form when I hit the submit button? If you get some other type of error, please see the list of other possible error messages again and go directly to that section for the answer.

How to Solve the File Not Found Problem

If you still find you're getting File Not Found / Page Not Found / 404 errors after checking the above items, do the following:

  1. Upload your Thank You page to your website again. Make sure that you upload it to the correct folder on your web host's computer.

  2. Type the web address (URL) of your Thank You page directly into your web browser. Yes, you read it right: type it manually into your web browser to load that page.

  3. Do you see your Thank You page in your web browser? If you don't, it means you have either uploaded it to the wrong folder, or you have typed the wrong web address. Go back to step 1 and solve the problem before continuing. This "file not found" error needs to be solved before you go on, since if you can't get the page to load manually, the feedback form script won't be able to do it either. The feedback form script doesn't have magical powers and cannot load a page that even you can't find.

    If you see the Thank You page in your web browser, go to the next step.

  4. Copy the web address from your web browser's address bar (located at the top of your browser) into the clipboard, by selecting the entire address with your cursor, and pressing Ctrl+C on your keyboard (or Command+C if you use a Mac). Pressing Ctrl+C means to hold down your Ctrl key on your keyboard, and type "c" (without the quotes) while still holding down the Ctrl key. This will copy the web address into the clipboard.

    (We are copying and pasting the URL to avoid typing errors later. Since we know this web address successfully allows you to load the Thank You page, we don't want to accidentally give the Feedback Form Wizard the wrong address through careless typing errors later.)

  5. Return to the wizard and generate a new feedback form. This time, instead of manually typing the address of your Thank You page into the appropriate field, paste the (working) web address you previously copied by typing Ctrl+V (or Command+V in Mac).

Why do I get an error that "feedback.php" or "" is not found?

Here are some possibilities:

  1. Did you upload your feedback.php or file to the correct directory?

  2. Did you name the file correctly? For example, "feedback.php" is not the same as "feedback.php.txt". If you used Windows Notepad to save your file, there is a chance that it added an additional suffix ".txt" to the filename you specified when you saved the file. You may not be able to see the ".txt" extension in Windows Explorer, since it hides the extension from you in its default configuration. Check the answer to How do I save the feedback form script in Notepad without the ".txt" extension? to learn how to solve this problem.

Why do I get this error: "Warning: mail() [function.mail]: SMTP server response: 501 5.5.4 Invalid Address in..."?

If you get the above message when you click the "Send Feedback" button on your feedback form, first check to make sure that the email address you entered into the Feedback Form Wizard's "Email Address" field is correct. If necessary, read the email address to yourself aloud, letter by letter. Mistakes are often difficult to spot in strings of often-nonsensical sequences of characters, like email addresses and URLs. Sometimes, the only way to check them is to get a fresh pair of eyes (ie, another person) to look at them, or if you have no alternative, to read it to yourself aloud.

If the email address you used is correct, and you still receive this error message, return to the Feedback Form Wizard to generate a new script for your site. Enter the information in the fields as you did before. This time, in the "Compatibility Options (For Advanced Webmasters)" section, put a tick in the box for "Set envelope sender". Generate the script again, and use this new version instead.

An alternative solution, if your website is on a web server running Windows (and it's most likely the case if you receive such an error message), is to put a tick in the "Set sendmail_from" box instead of "Set envelope sender". However, do this only if the above "Set envelope sender" method fails. In other words, don't do both. Put a tick in either the "Set envelope sender" box (preferred solution) or the "Set sendmail_from" box (last resort). If this paragraph confuses you, ignore it entirely and just follow the procedure in the paragraph above; that is, pretend this paragraph doesn't exist.

Why do I get this error: 'Warning: mail() [function.mail]: SMTP server response: 503 This mail server requires authentication when attempting to send to a non-local e-mail address.'?

Your web host does not allow scripts to send email to any address that is not on your domain. That is, if your domain is, all scripts on your host can only send to, where "any-address" can be any valid email address, but not to addresses like [some-address] This applies not only to's feedback form script, but to all scripts running on your host.

This problem is easy to work around. Simply go back to the feedback form wizard and regenerate a new form. This time, set your email address in the wizard to point to one at your own domain. Then log into your web host's control panel and configure that email address to automatically forward to your desired email address. If you don't know how to set a forwarding address or log into your control panel, ask your web host (I can't help you there). If there is no way to set a forwarding address, change to another web host, or just check your mail directly from your own domain.

Why do I get this error: "530 Relaying not allowed - sender domain not local..."
Why do I get this error: "553 sorry, that domain isn't allowed to be relayed thru this MTA"

The error message seems to suggest that your web host refuses to transmit any email sent by scripts running on your website.

If you have entered something into the "Set SMTP server (for Windows servers)" field of the Wizard, it's possible that you have entered a server which does not accept email from your domain (ie, website). This can be the result of a spelling mistake, or perhaps attempting to put an SMTP server for which your site does not have the right to use. For example, you cannot simply put your broadband provider's SMTP server name into this field and expect it to work. Their SMTP servers probably only accept mail from their own machines. You have to use your web host's server instead. Web hosts (especially commercial ones) typically set up one that will accept mail sent by scripts on your domain.

If this is the case, return to the wizard and recreate the form and script again, this time, enter the correct SMTP server. If your web host doesn't specifically tell you that you must use a particular SMTP server in your website's scripts, it's possible that you don't have to enter anything into this field. The field is only meant for people who use web hosts that don't know how to set up their PHP properly, requiring the script to work around it. If they don't tell you that you must specify an SMTP server in your scripts, assume they are competent, and just leave the field blank.

For those who did not enter anything into the "Set SMTP server (for Windows servers)" field of the Compatibility Options, but still get this error, it may mean that your web host misconfigured or failed to configure their email system to accept mail from your site. You should probably contact them for help in such a case. It's possible that they simply forgot to add your domain to their mail server's configuration.

If your web host tells you that the error is because your scripts need to use your email password before sending mail, get a better web host. The vast majority of them don't require you to embed your email password into your feedback form scripts. While you can always look for another script that allows you to do this, it is not a good solution. It means that every time you want to change your password (for example, because it's been leaked online, or the phone/computer where you saved the password is lost), you will have to modify your script as well and re-upload it. While this may not seem like much if you're technically savvy, there is a window of time between the moment you change your password and your updating of the script where your visitors will receive this error message when they try to contact you. It's also not wise to embed your email password into a script placed on your site, since many web hosts' servers are not properly secured by default, and the owners of other sites on the same server can often read your scripts, thus discovering your password.

Why do I get a "Warning: Cannot modify header information - headers already sent" for the Feedback Form PHP Script?
Why do I get this error: "Warning: unexpected character in input..."?
Why do I get this error: "Parse error: syntax error, unexpected T_STRING in..."?

The "Warning: Cannot modify header information - headers already sent" error is often a side-effect of other errors. If you are getting other error messages besides this, fix the problem caused by the other errors. To do that, read the relevant FAQ item for that error. Once you fix the other errors, this message will go away on its own (assuming you have not also corrupted the script in some way).

If you are not receiving any other errors, or you get the "unexpected character in input" or "Parse error" messages instead, it means that you have modified, either knowingly or unknowingly, the script file in some way and corrupted it.

Here are some possible things you may done to corrupt the file:

  • You did not use Notepad to save the file. Do not use Word, WordPad, Write, Office, OpenOffice or any wordprocessor to save the file. Do not use a WYSIWYG web editor like Nvu or KompoZer either. (If you're using my tutorial on Dreamweaver, it's possible you missed a step or sub-step somewhere. Either revisit those tutorials or just use an ASCII text editor like Notepad.)

  • You knowingly modified the script either to add features or beautify its appearance. Your modifications are somehow causing the error.

  • You added blank lines to the script file when you copied it into your editor. The very first characters of the file should be "<?php" (without the quotes). If you have anything at all preceding those characters, they are the cause of the problem.

  • You did not upload the script to your site correctly. If you used an FTP program to upload the script, make sure that you upload it in text mode and not binary mode. Since this happens automatically for most modern FTP programs, it is unlikely to be the cause of your problem. However, if you're not sure and want to eliminate this possibility, my tutorial How to Upload a File to Your Website Using the FileZilla FTP Client may be relevant.

To get rid of this error message, go back to the Wizard and generate everything again. This time, use Notepad to save the script file and don't make any changes. If you don't run Windows, make sure you use a true ASCII text editor for your system. And upload the script in text mode.

A spammer is using my feedback form to send spam. How do I stop it?

If a spammer is using your feedback form to send other people spam, you need to upgrade your feedback form and script to the latest version. To do this, simply return to the Feedback Form Script Wizard and generate a new copy. Replace both the script and the HTML web form on your site with the newly generated ones. The current versions reject messages with injected email headers (which was how spammers were able to use the script as a relay previously).

Note that if you generated your script from this site prior to 28 February 2006, there's a chance that your script is vulnerable to being used as a spam relay. Please return to the wizard and generate the latest version to be safe.

Incidentally, the script will not protect you (the webmaster) from spam sent to you through your feedback form. After all, the script is designed to send you any mail sent by your visitors, junk or otherwise. To reduce the amount of spam you get from your form, either enable the CAPTCHA facility in the feedback form, or set up spam filters in your email software, or both. Some web hosts also have spam filtering software set up in their email servers which you can activate in order to filter out junk mail.

How do I fix this "Deprecated: Function ereg() is deprecated..." warning?

If your feedback form has been running fine for years but only recently started spewing warning messages starting with the words "Deprecated: Function ereg() is deprecated...", it means that your web host has (behind the scenes) upgraded the version of PHP running on your website's server to PHP 5.3.0 or above. PHP 5.3.0 and later deprecates a facility (the "ereg()" function mentioned in the message) used by early versions of the feedback form script. In this context, "deprecates" merely means that the PHP developers discourage the use of the facility called "ereg()" because they plan to remove it in future versions of PHP.

To solve this, please upgrade to the current version of the feedback form script. That is, return to the Feedback Form Script Wizard and generate a new copy of the feedback form and script. Then replace both your existing script and form with this new version.

Note that if you have generated your feedback form script after 9 June 2009, your script should run fine even on PHP 5.3.0. Scripts created after that date use an alternative facility to do the same job.

How do I fix the "Fatal error: Call to undefined function: json_decode() in /.../feedback.php on line..." message?

This message means that you selected the CAPTCHA version of the feedback form but your website is running a version of PHP earlier than 5.2. The ReCAPTCHA code used by the script requires your site to be hosted on a system running PHP 5.2 or above.

Either create a new script and form without the CAPTCHA test (which has a lower requirement of PHP 4.2 or above), or move to a web host providing PHP 5.2 or above. You can find a list of commercial web hosts on, but you have to verify the version of PHP they are running yourself.

Why do I not receive any mail when I run the feedback form script?

There are numerous possibilities for this. If you're getting the "Thank You" page after you run the feedback form script generated by the Feedback Form Wizard, but do not receive the mail sent, check the following:

  1. Are you using a free web host? Most free web hosts that allow execution of PHP or Perl scripts do not allow those scripts to send out mail. Solution: use a commercial web host. If you don't know which to choose, you can find the web host that I use on my Which Web Host Do You Recommend? (FAQ) page.

  2. Are you sure you have waited long enough for the mail to be delivered? I've tested my script on a huge number of web hosts and email services, both free and commercial. On a few of these hosts/services, I've observed long delays in mail delivery. If you think it's not your web host but your email service that is slow, try sending the messages to an email address that you know is reliable (and fast). Of course if it's your web host, you just have to be patient and wait.

    (By "long delays", I mean really long delays. On one web host, email typically took about 30 minutes to be delivered. On one test run, a message even took 3 hours before it arrived at the destination. And I'm sure there are even worse web hosts and email services around. Note that there's nothing I can do about the delivery time; it's completely outside the control of the feedback form script. Once the script shows you the Thank You page, it means that it has completed its work and has already transferred the mail to your web host for delivery.)

  3. Are you using a web host that restricts what a script may do? For example, some web hosts prevent PHP and Perl scripts from sending email messages where the "From:" header is from someone other than yourself. If you think this might be your case, note the error messages appearing in your error logs (eg, PHP error log) and search the FAQ for the section appropriate to your error message. If the error message reads "From address not in member domain", check the answer to 'Why do I get a "From address not in member domain" error?' elsewhere on this page.

  4. Did you modify the script yourself (such as to add more recipients, etc)? If you did, you might have introduced bugs into the script. Use the wizard and generate a fresh copy. Try this fresh copy without making any modifications to see if it works. If it does, the problem lies in your modifications.

  5. Did you check the Junk Mail or Spam folder in your mail software or your web email interface? It is possible that your email software or host has classified messages coming from your web host's mail server as spam.

  6. Some Internet services discard email from places that they think to be a frequent source of spam. You may not be notified when this happens, since they simply ignore the email instead of delivering it to your Junk Mail or Spam folder.

    One way to work around this is to create an email account on your web host, and use that address for your feedback form. If you find that you now receive messages from the form when you previously did not, it means that the old address was the problem.

    Do not think that this point does not apply to you because you are not a spammer. It can happen to anyone. It occurs when one (or more) of the IP addresses used by your web host's mail server is blacklisted by the receiving mail system.

  7. (PHP script only) Some web hosts fail to configure their PHP settings properly, with the result that no mail is actually sent even though the "Thank You" page is displayed. When asked, such web hosts sometimes give the excuse that PHP 5 requires scripts to use a "fifth parameter" when sending mail. If you use such a host, return to the Wizard and regenerate the form again. This time, in the "Compatibility Options" section, check the box "Set envelope sender".

    As a just-in-case measure, you should also make sure that the email address you supply the wizard points to a valid email address on your own domain. That is, if your domain is, make sure the email address embedded in the feedback form script is where something is a valid POP3 mailbox, and not just an alias or a forwarding address. (This step may not be necessary in all cases though.)

  8. (PHP script only) Is your website hosted on a Windows web server? Note: I'm not talking about your own computer (it doesn't matter if you use Windows, Mac, Linux, etc). I'm talking about the computer used by your web host to hold your website's files. A few web hosts fail to configure their PHP correctly for Windows. The end result is that your "Thank You" page will be shown, but no mail will actually be sent. (In layman's terms, the feedback form script tells PHP to send the mail, but PHP ignores the request and does nothing.)

    If your website is indeed on a Windows web server, try returning to the wizard and putting a check in the "Set sendmail_from" box in the "Compatibility Options". At the same time, make sure that the email address you supply to the wizard points to an email address on your own domain. For example, if the domain for your website is, your email should end with (It must of course be a valid email address.)

  9. (PHP script only) Certain web hosts fail to set the SMTP server in their PHP configuration settings for Windows web servers. Again, when I say "Windows web server", I'm not referring to your computer but that of your web host. For Windows servers, the PHP configuration file (which is controlled by your web host) needs to specify something known as an SMTP server for PHP scripts to use. If your website is hosted on a Windows web server, and you don't receive mail from the script, find out from your web host which SMTP server your PHP scripts need to use. Then enter the server name into the "Set SMTP server (for Windows web servers)" field in the "Compatibility Options" section of the wizard. Note that you cannot simply enter any SMTP server in this field and expect it to work: only enter the SMTP server supplied by your web host for this purpose.

If you're not even getting the "Thank You" page, you may have to make sure that your web host supports PHP or Perl CGI scripts in the first place. See also the sections on Why do I keep getting back my feedback form when I hit the submit button? and Why do I not get the Thank You page when I submit the feedback form?

Furthermore, if you are getting error messages when you run the script, check the relevant portion of this FAQ for the solution to your problem.

Why do I not receive any mail when my visitors use certain email addresses (while other email addresses are fine)?

This answer addresses the specific situation where you can normally receive email sent using your form, except when your visitors enter certain email addresses. I was asked this question by a webmaster who has his form send messages to his email address at Gmail. However, when a visitor enters an email address at Yahoo, the message never appeared in his Gmail account.

Although I'm not certain what happened, my guess is that Yahoo has enabled certain email authentication features (eg, DKIM, SPF, DMARC, etc) in their system, and Gmail looks for those features in messages that say they originated from Yahoo. Since the message did not really come from Yahoo, but from a website's feedback form, Gmail rejected the email.

The solution is to not redirect your website's feedback form messages to (say) Gmail. That is, return to the Feedback Form Wizard and generate a new script. This time, enter an email address at your own domain. In addition, if your web host has the option for you to enable one of those email authentication facilities, don't switch it on. (Or disable it if it's already turned on.) That way, you will be able to receive messages from visitors entering email addresses from locations that have such features. (The email authentication facilities only work if both the sending and receiving email servers are set up to validate email in that way.) The downside of doing this, of course, is that you will not be taking advantage of this specific spam-filtering mechanism at your disposal. Hopefully, you will have other spam filters in place that will help you manage spam.

I have changed my email address. How do I get the form to send to my new email address?

Simply return to's Feedback Form Script Wizard and generate a new copy of the script with your new email address, and replace the existing version on your site with the new one.

There's no point writing to me to tell me you have changed your address. I don't have a record of anything you enter into the Wizard (see my Privacy Policy), and the output from your contact form doesn't go through me.

Do you store a copy of the email address I enter into the feedback form wizard?
Do you intercept any of the email messages I receive from the feedback form?

No to both questions. The Feedback Form Wizard takes the email address you supply and plugs it into the script it generates for you. Your email address is not recorded anywhere, and it does not show up in my web logs. When your visitors send you messages, they are processed by the script running on your web host's computer. No copy of the messages is ever sent to me.

Note that you do not have to trust me on this matter. Feel free to use some dummy email address in the Wizard, and then manually change it to your real email address on your own computer before you upload the script to your web server. You should, however, do this only if you are technically savvy and know how to modify scripts on your own. I will not bother to reply to messages requesting help on this: if you end up with a script that doesn't work because of your modifications, you're on your own.

Those who understand PHP or Perl can also examine the source code for the feedback form script. You will see that it never sends any message to me.

Why do I not get my visitor's name and email address when I receive their message through the Feedback Form?

(Note: this question is for those who receive the email message when visitors submit their message but cannot find the visitor's email address and name. If you don't receive any email message at all, see the answer to Why do I not receive any mail when I run the feedback form script?)

Theoretically, you should be getting your visitor's name and email address. These are sent to you in the "From" header of the email message. They are also duplicated in the "Reply-To" header.

Some free web hosts, however, configure their system so that the "From" header always reflects the email address you gave to them when you signed up. They usually do this to prevent people using their system to spam others. If so, check to see if you can find the visitor's name and email address in the "Reply-To" header as well. Most email software as well as web mail sites allow you to view all the headers of an email message.

If they have modified the "Reply-To" header as well, my suggestion is to go with a better web host. Check out some of the commercial web hosts. Commercial web hosts usually do not play such tricks with your email.

You might also want to try putting a check in the box labelled "Use line feeds to separate email headers" in the Compatibility Options section of the Wizard and regenerating the form again. Using this option might help to solve some rare cases where a deficient mail system wreaks havoc with the mail sent by the script, with the symptom that the "From:" header appears to be missing (from the point of view of your email software).

UPDATED (27 February 2006): The latest version of the feedback form script generated by Feedback Form Wizard also embeds your visitor's email address and name in the message body itself, so you should always be able to read your visitor's name and email address even if it is missing in the "From" header.

Why does the Feedback Form script send me an email that does not have any of the comments that my visitor submitted?

There are two possibilities that I can think of.

Why do I keep getting back my feedback form when I hit the submit button?

If you are seeing the contents of the feedback form script itself, your web server probably does not support Perl or PHP. Free web hosts and the free hosting that comes with your ISP (eg AOL) usually do not provide Perl or PHP facilities. Sign up with a commercial web host instead.

If you are using the Perl version of the feedback form and are sent back to the feedback form page after submitting, chances are that you entered the path of the feedback form script into the "Path of sendmail binary" field of the Wizard. That is, you probably entered something that ends with "" or "chfeedback.cgi". This is incorrect. You have to find out from your web host where they put their sendmail binary. It's usually in their documentation somewhere.

If you are using either the PHP or Perl version, you must make sure that the URLs you enter for the "Thank You" and "Error" pages are different from the URL you enter for the "Feedback Form". If you entered your feedback form URL for your "Thank You" page, your visitors will be taken to your feedback form after they send their message.

Why do I not get the Thank You page when I submit the feedback form?

There are a few possibilities for this.

  • Was there an error message displayed in the browser when you submitted the feedback form? If so, return to the start of this page and look for the specific error message (or its equivalent). This will give you the direct solution to the problem you are having. For example, if you are getting an error that tells you that the file was not found, or missing, see the answer to "Why do I get a "File Not Found" error when I submit my form?".

  • If you keep getting the feedback form again after you submit the form, see the answer to "Why do I keep getting back my feedback form when I hit the submit button?".

  • Did you modify the script in some way? If you did, you might have introduced bugs into the script. Use the wizard to generate a fresh copy. Try this fresh copy without making any modifications to see if it works. If it does, the problem lies in your modifications. Either fix it yourself, or just use the script the wizard generates without modification.

  • Are you sure your web host supports PHP or Perl scripts? If it doesn't, you may have to use a commercial web host. You may also want to read up on which web hosts I use for my sites for some opinions.

Why do mail sent from my form end up in my Spam/Junk Mail mailbox?

Modern spam filters usually classify spam by looking at a few things:

  1. the source of the email -- in your case, the IP address of your website or the mailing system on your web host;

  2. the content of the email -- in this case, the things said in the message; and

  3. whether you regularly mark similar email messages as spam.

If mail sent through your feedback form gets classified as spam in your web mail or other mail program, one of the above conditions must be true.

Take the IP address case, for example. The IP address is the numeric internet address (like "") of your website and your web host's mailing system. When email providers find that mail sent from a particular IP address tends to be spam, it classifies that address as a source of spam. As a result, all messages sent from that address gets dumped into your Spam mailbox. Even if your site has never spammed anyone before, the previous owner of that IP address may have had. As a result, the IP address got blacklisted.

The second situation occurs if the content of your messages contained words often found in spam email. In such a case, the mail service may also classify your message as spam.

The third situation occurs if you often delete unwanted messages from your mail box by hitting the "Mark as Spam" or "Spam" button, instead of the "Delete" button. When you hit the "Mark as Spam" button, the mail provider records the characteristics of that message as those belonging to a spam message. The next time a message enters your account with those characteristics, it will automatically be dumped into your "Spam" mailbox. When you test your feedback form, it is important that you delete the real messages from your form using the "Delete" button, and not the "Spam" button. Otherwise, if you do it often enough, your email provider's software will see all messages coming from your site as spam.

If you use a web mail provider, it is often possible to go through your spam mail box and mark the messages you receive from your feedback form as "Not Spam" (the exact term differs from mail provider to mail provider). After some time, the mail system you're using (if it is sufficiently smart) will "learn" that such messages are really not spam, and will deliver it to your Inbox in the future.

How do I insert the HTML code for the form into my web page?

If you are trying to insert the HTML form code into your web page, and find that instead of getting the form fields on your web page, you get the HTML code being displayed, it means that you are inserting the code into your page using your web editor's What-You-See-Is-What-You-Get (WYSIWYG) interface. Essentially, you need to either switch to the editor's raw HTML editing mode or, alternatively, use your editor's facility to insert HTML code into your web page.

Tutorials on how to do this for various web editors can be found as follows:

How do I upload the feedback form to my website?

See the article How to Upload a File to Your Website Using the FileZilla FTP Client.

How do I add more fields to the feedback form script?
How do I add a telephone number field to the feedback form?
How do I add a mailing address field to the feedback form?

If you want to ask your visitor for his/her telephone number, go the Advanced Options section of the Wizard (found in Step 2), and put a tick in the box "Ask visitors for their telephone number". The Wizard will create a form that will display a telephone number field and a script that will send it to you together with your visitor's message.

Likewise, if you want to ask for your visitor's mailing address, put a check in the box "Ask visitors for their address". This will cause the Wizard to generate a form that asks for the address and send it to you in the email message.

For all other types of information, you will have to modify the PHP script and web form yourself. This, of course, requires a bit of programming knowledge. For those who know how to write computer programs but don't know the PHP language, you can find a quick-start tutorial in How to Write Your Own Feedback Form Script and Improving Your Form to Mail (Feedback Form) Script. But remember: if you break my script with your modifications, you will have to fix it yourself.

How do I get a cc (carbon copy) or bcc of my visitor's message at another email address?

The current version of the feedback form script does not provide a facility where your visitor's message gets sent to multiple email addresses. However, this can be easily worked around. Go to your web host's control panel and create a forwarding email address (also known as "alias"). Configure that alias so that any mail sent to it gets forwarded to all the email addresses you want it sent to. Then in the Feedback Form Script Wizard, supply that forwarding address in the "Email Address" field, instead of your real email address.

This method allows you to cc as many addresses as you want, without being dependent on the script to provide the facility. It also allows you to easily change your email addresses without having to regenerate a new copy of the script.

How do I get the script to automatically send my visitor an email acknowledgement?

When your visitors submit their message, they are immediately directed to your "Thank You" page, acknowledging that their message has been sent. Some people, however, want the script to additionally send those visitors an email message acknowledging receipt of their message. Others want the script to send the visitors a copy of the message they sent.

Although I'll describe a way for you to do this (see next paragraph), let me say that automatically sending your visitors a copy of the message they sent is a very bad idea. Anyone can use your email form to send you a message. They can also easily enter a fake email address into the address field. If spammers find out that your form sends a copy of any message back to the sender, they will start using your form to send spam with the email address of people they are trying to spam. The spam will then reach 2 parties: the innocent bystander whose email address was used by the spammer, and you. Since the spam would have originated from a form located on your site, you may end up being accused of being a spammer.

In view of this, the script does not send any email at all to your visitor. However, you can easily work around this if you want to. Go to your web host's control panel to configure an email address that will automatically send an "autoresponder". Your web host may call it "vacation message" or some such thing, so look around if you can't find the exact word "auto-responder". Create an appropriate autoresponder message and attach it to that email address. Then return to the Feedback Form Wizard, and generate a script that sends to that email address.

On certain web hosts, like the one is currently using, it is possible for the autoresponder to optionally include a copy of the visitor's message. But I strongly recommend that you do NOT include your visitor's message in the autoresponder. A simple autoresponder message is less likely to be seen as spam than one that includes the spammer's advertisements.

How do I change the colour of the form fields and the Send Feedback button?

The form created by the wizard does not have any colour ("color" in US English) information embedded in it. As such, it will take the default colours that your visitor's browser gives it, unless you override it.

If you have changed the colour of the background and words on your web page, you will have found that the form fields and Send Feedback button do not automatically adopt those colours. That is normal: it's the way web pages are supposed to work. To affect those elements of the form, you will have to explicitly change their colours. The exact method varies from web editor to web editor. If you are using a visual web editor (like Expression Web, Dreamweaver, BlueGriffon, KompoZer, etc), you will probably have to select each of those fields and button in turn, and bring up the CSS dialog box (or whatever it's called in your editor), and set the colours from there.

If you code directly in HTML and CSS, each of those fields and button have their own ids: #tswname, #tswemail, #tswcomments and #tswsubmit for the Name, Email, Comments and Send Feedback button respectively. (Note that the id for the Send Feedback button was only added in version 2.20.1.) You can use them to directly reference the form elements to change the colours or otherwise modify their appearance. For example, the following CSS code changes the name and email fields to white on black, the comments field to yellow on black, and the Send Feedback button to white on blue.

#tswname, #tswemail { background-color: black ; color: white ; }
#tswcomments { background-color: black ; color: yellow ; }
#tswsubmit { background-color: blue ; color: white ; }

And yes, I know. The use of different colours for different fields in a single feedback form as given above is ridiculous. It is just meant to be an example of how you can modify the various elements using the provided ids.

In addition, if the above example confused you, it probably means you are using a visual web editor. Please use the means provided by your web editor to change the colours instead. See the first two paragraphs of this answer (the one that you're reading now) for hints on how to do this.

I've modified the form or script, and now there are problems. Can you help me?

To solve your problem, do the following:

  1. Return to the Feedback Form Wizard and generate a new copy of the form and script.

  2. Without changing anything, upload that form and script to your site, and test again. If everything works as expected, it means the error is not in the information you entered into the Wizard. Go to the next step. Otherwise, the error is in what you supplied to Wizard. Return to the first step and try again till you get it right.

  3. Now look at the list of things you want to change. Don't make all those changes in one go. Change only one item at a time. Start by making the first change in your list, re-upload the form and script, and test again. If everything continues to work fine, repeat the procedure with the next thing on your list (again, only modifying one item each time). If there is an error, you have isolated the cause of your problem: that is, the bug you introduced was the last thing you modified.

    (If you change multiple things simultaneously, and you're not sufficiently familiar with HTML, CSS and PHP, you won't be able to figure out how you broke the script. And since you know for certain that something broke as a result of your changes, the trick is to do it step by step, one item at a time. Yes, it's tedious, but it will help you locate your error.)

    If you can't make it work, at least you can just revert back to the unmodified script. That is, just return to the Wizard and generate yet another copy of the script and form and use that.

Note that if the change you want is merely cosmetic, you may want to look at my list of tutorials on using the feedback form wizard for one appropriate to your web editor, and use that as a guide on how to change things without breaking everything.

How do I save the feedback form script in Notepad without the ".txt" extension?

Please see my article How to Save a File with Notepad Without the TXT Extension.

How do I get the feedback form script to work in Google Page Creator?

You can't. As made obvious by the wizard, when you were asked to select the version of the script you want, you should only select the PHP version if your web host supports PHP, or the Perl version if your host supports Perl. As far as I can tell, Google Page Creator supports neither. Get a commercial web hosting account instead. Incidentally, you may want to read my article on why it's better to use a true web editor than a site builder.

My feedback form used to work, but it has suddenly (recently) stopped working.

If your feedback form used to work before, and it has suddenly stopped working, it means one of the following things has occurred:

  • You modified the form and/or script in some way and broke it.

  • You accidentally deleted the form and/or script when you uploaded/published the other pages of your site.

  • You moved the form and/or script to a new folder on your website, or even a new domain, resulting in all the web addresses embedded in the script being incorrect. If you change web addresses, you need to return to the Wizard to generate a new script with the new addresses.

  • Your web host has changed something on their end. For example, as recounted to me by a visitor, one web host accidentally misconfigured their server when they upgraded it so that all PHP scripts on their system (not just the feedback form) stopped working.

  • If you are using the ReCAPTCHA version of the feedback form, the script will also fail if the ReCAPTCHA service goes down (either for scheduled maintenance or because of a network failure or some other thing). Note that this does not apply to you if you did not enable the ReCAPTCHA facility. Only the ReCAPTCHA version is dependent on the ReCAPTCHA service. The standard feedback form is wholly self-contained.

The thing to understand is that if the feedback form and script has worked before on your website, it should always continue to work. It cannot decide, on a whim, not to work. Something must have changed on your end or on your web host's system.

The script also does not auto-update or otherwise modify itself behind your back. Neither can I reach into your website and modify it. In other words, the script and form that you obtained from the Wizard will continue to be the same script and form that runs on your website till kingdom come, unless you modify them yourself. As such, since they remain the same, and they used to work correctly, some other condition must have changed for them to stop functioning. If you are sure you have not touched your website in any way, find out from your web host if they have modified something on their end (eg, upgraded their server or its software, moved your site from one server to another, restored your website from a backup because their previous hard disk failed, and so on).

Help! My Feedback Form doesn't work. Can you tell me why?

Please read go back to the top of this page and look for the answer matching the symptoms you experience.

Incidentally, vague questions like the above (where the only information provided is that something "doesn't work") are not very useful if you want others to help you (unless the helper is telepathic). You need to define problem more specifically (eg, what error messages you got, what happened when you submitted the form, whether you received any email when you submitted the form, whether the Thank You page was displayed, what changes you made to the form and script if any, etc). Being more specific will also help you locate the answers on this page.

Copyright 2000-2018 by Christopher Heng. All rights reserved.
Get more free tips and articles like this, on web design, promotion, revenue and scripting, from

thesitewizard™ News Feed (RSS Site Feed)  Subscribe to newsfeed

Do you find this article useful? You can learn of new articles and scripts that are published on by subscribing to the RSS feed. Simply point your RSS feed reader or a browser that supports RSS feeds at You can read more about how to subscribe to RSS site feeds from my RSS FAQ.

Please Do Not Reprint This Article

This article is copyrighted. Please do not reproduce or distribute this article in whole or part, in any form.

Related Articles

New Articles

Popular Articles

How to Link to This Page

It will appear on your page as:

Frequently Asked Questions (FAQ) about the Feedback Form Wizard

Link to Us
No Spam Policy
Privacy Policy
Site Map

Getting Started
Web Design
Search Engines
Revenue Making
Web Hosting
Perl / CGI
.htaccess / Apache


Free webmasters and programmers resources, scripts and tutorials Free How-To Guides
Site Design Tips at
Find this site useful?
Please link to us.