简体   繁体   中英

PHP Issue with Email Form

I have used this site before with great success and I am having a similar issue with a php email form. I tried to copy from the previous form that the guys on this site were extremely helpful in getting to work the way I wanted, but for some reason or another it won't send the form. I am sure that it is a silly oversight, but would appreciate a second set of eyes.

Here is the code:

<?php
$state = 0;
// check to see if verificaton code was correct
if(md5($verif_box).'a4xn' == $_COOKIE['tntcon']){
// if verification code was correct send the message and show this page
mail("myemailaddress@hotmail.com", 'Website Inquiry: '.$subject, "\n".$comments." 
\n\n".$name."\n\n".$company."\n\n".$email."\n\n".$_SERVER['REMOTE_ADDR']."\n\n".'InterestedIn: '.$InterestedIn, "\n\n".'ContactMethod: '.$ContactMethod,"From: $email");
// delete the cookie so it cannot sent again by refreshing this page
setcookie('tntcon','');
$state = 2;
} else if(isset($message) and $message!=""){
// if verification code was incorrect then return to contact page and show error
$state = 1;
}

if ($state == 0) {  ?>
<form action="" method="post" name="form1" id="form1" 

onsubmit="MM_validateForm('email','','RisEmail','name','','R','verif_box','','R')

;return document.MM_returnValue">

 <p><strong>Tell us what you're interested in:</strong></p>
<dl>
    <dd><input type="radio" name="InterestedIn" value="BIBS<?php echo $_GET['InterestedIn'];?>"> Blow-In-Blanket System
    <input type="radio" name="InterestedIn" value="Foam<?php echo $_GET['InterestedIn'];?>"> Soya Spray Foam
    <input type="radio" name="InterestedIn" value="Attic<?php echo $_GET['InterestedIn'];?>"> Attic Insulation
    <input type="radio" name="InterestedIn" value="NotSure<?php echo $_GET['InterestedIn'];?>" checked="checked"> Not Sure</dd>
</dl>
<p><strong>Enter additional comments in the space provided below:</strong></p>
<dl>
    <dd><textarea name="comments" cols="50" rows="5" border="0" id="comments"><?php echo $_GET['comments'];?></textarea></dd>
</dl>
<p><strong>Tell us how to get in touch with you:</strong></p>
<dl>
    <dd>
    <table>
        <tr>
            <td>Name*</td>
            <td>
            <input type="text" size="40" maxlength="256" name="Name" value="<?php echo $_GET['name'];?>"></td>
        </tr>
        <tr>
            <td>Company</td>
            <td>
            <input type="text" size="40" maxlength="256" name="Company" value="<?php echo $_GET['company'];?>"></td>
        </tr>
        <tr>
            <td>Email*</td>
            <td><input type="text" size="40" maxlength="256" name="email" value="<?php echo $_GET['email'];?>"></td>
        </tr>
        <tr>
            <td>Phone</td>
            <td><input type="text" size="40" maxlength="256" name="Phone" value="<?php echo $_GET['phone'];?>"></td>
        </tr>
        <tr>
            <td>City</td>
            <td><input type="text" size="40" maxlength="256" name="City" value="<?php echo $_GET['city'];?>"></td>
        </tr>
    </table>
    </dd>
</dl>
    <p><strong>Best method to get in touch with you:</strong></p>

<dl>
    <dd><input type="radio" name="ContactMethod" value="byphone<?php echo $_GET['InterestedIn'];?>" checked="checked">  Phone
    <input type="radio" name="ContactMethod" value="byemail<?php echo $_GET['InterestedIn'];?>"> Email
    </dd>
</dl>

   <dl><dd><img src="verificationimage.php?<?php echo rand(0,9999);?>" alt="verification image, type it in the box" width="50" height="24" align="top"/>&nbsp;&nbsp;<input name="verif_box" type="text" id="verif_box" style="padding:2px; border:1px solid #CCCCCC; width:80px; height:14px;"/><br /><br />
Enter Verification Image

</dd></dl>


<p style="padding-left:60px;"><input type="submit" class="button primary" value="Submit Form" name="submit"/>
<input type="reset" class="button primary" value="Clear Form" name"clear" /></p>
</form>

Any help would be appreciated as I have a new baby at home and am very pressed for time being a new mom and trying to get this last project completed.

Thank you in advance!

I think some basic debugging would help a lot.

  1. You seem to be mixing $_GET and a method='post'

  2. Try a one line script that just does a call to mail() with hardcoded values. Does that work?

  3. Try submitting your form. Output $_POST . Does it have everything you were expecting? Does $_COOKIE ?

  4. Construct all the strings you are passing into mail ahead of time. Do they each look like they are supposed to?

  5. Try taking those exact strings and putting them into mail() directly (like #2 above). Does that work?

By the time you get to the end of this list, you'll know where the failure is and can get a much more specific answer.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM