PHP-based Form Mail (Feedback) Script

Using a PHP script, you may accept feedback from your website visitors and get the results emailed to you. You can use the sample script provided by BigRock and tweak it a bit to suit your requirements.

You would need to change the email address in the field $from to any email address on the domain name on which you are incorporating this script.

Example:

If your domain name is abc.com, then you would define the From email address as some-name@abc.com.

This email address need not be existing on the mail server of abc.com, however, the domain name in the $from field has to be yours.

You may use an email address such as Do_Not_reply@abc.com.

The value in the $mailto field needs to be changed to the email address, where the email containing the data submitted through the form needs to be delivered.

Once the visitor provides feedback, he/she can then be re-directed to another page on your website. In order to achieve this, you need to mention the path to the HTML file in the $file field in the script. Alternatively, you can display a message to the visitor thanking him/her for the feedback. Such messages can be displayed in a new page like thanks.htm. Such a page can also contain other information as deemed necessary.

Sample Script

   <?

        $mailto="xyz@abc.com";
        $file="thanks.htm";
        $pcount=0;
        $gcount=0;
        $subject = "Mail from Enquiry Form";

        $from="some-name@abc.com";
        while (list($key,$val)=each($_POST))
        {
        $pstr = $pstr."$key : $val \n ";
        ++$pcount;

        }
        while (list($key,$val)=each($_GET))
        {
        $gstr = $gstr."$key : $val \n ";
        ++$gcount;

        }
        if ($pcount > $gcount)
        {
        $message_body=$pstr;
        mail($mailto,$subject,$message_body,"From:".$from);

        include("$file");
        }
        else
        {
        $message_body=$gstr;

        mail($mailto,$subject,$message_body,"From:".$from);
        include("$file");
        }
        ?>