0

PHP メール機能を正しく動作させるには少し手を加える必要があります。

これは、私のphpファイルのヘッダー内にあるものです。

<?php
require_once('common.php');

require_once('mailer.php');

if (isset($_POST['submitBtn']))
{
    // Get user input
    $conName  = isset($_POST['conName']) ? $_POST['conName'] : '';
    $conEmail = isset($_POST['conEmail']) ? $_POST['conEmail'] : '';
    $conPhone = isset($_POST['conPhone']) ? $_POST['conPhone'] : '';
    $conNatureof = isset($_POST['conNatureof']) ? $_POST['conNatureof'] : '';
    $conSubject = isset($_POST['conSubject']) ? $_POST['conSubject'] : '';
    $conMessage = isset($_POST['conMessage']) ? $_POST['conMessage'] : '';

    // Try to send the email
    $error = sendMail($conName,$conEmail,$conPhone,$conNatureof,$conSubject,$conMessage);
}   
?>

これは現在、私のPHPファイルの本体内にあります:

<?php if ((!isset($_POST['submitBtn'])) || ($error != '')) {?>
 <form method="post" action="contact.php" enctype="multipart/form-data">

<p><label for="conName">Name:<span class="required">*</span></label><input name="conName" id="conName" type="text" class="input"/></p>
<p><label for="conEmail">Email:<span class="required">*</span></label><input name="conEmail" id="conEmail" type="text" class="input" /></p>
<p><label for="conPhone">Phone:</label><input name="conPhone" id="conPhone" type="text" class="input" /></p>
<p><label for="conNatureof">Nature of enquiry:<span class="required">*</span></label>
<select name="conNatureof" class="input" id="conNatureof">
  <option value="-">-- Please Select --</option>
  <option value="interested">Interested in joining</option>
  <option value="job">Job enquiry</option>
  <option value="other">Other</option>
  <option value="question">Question about membership</option>
</select></p>
<p><label for="conSubject">Subject:<span class="required">*</span></label><input name="conSubject" id="conSubject" type="text" class="input"/></p>
<p>Message:<span class="required">*</span>
<textarea name="conMessage" cols="40" rows="5" class="textarea" id="conMessage"></textarea></p>
<div class="buttonHolder">
<input class="text" type="submit" name="submitBtn" value="Submit" />
</div>
</form>
<?php } ?>

次のようにsendMail関数を持つ私のmailer.phpファイルとともに:

function sendMail($conName,$conEmail,$conPhone,$conNatureof,$conSubject,$conMessage)
{

//String to hold the error messages
$errorText = '';

//START VALIDATION OF USER INPUT

//Validating name
if($conName == "")
{
    $errorText = $errorText . "- Please enter a name<br />";
}



//Validating email address
//Must be a valid email address and is compulsory
if($conEmail == "")
{
    $errorText = $errorText . "- Please enter an email address<br />";
}
elseif (!filter_var($conEmail, FILTER_VALIDATE_EMAIL)) 
{
    $errorText = $errorText . "- Email address was invalid<br />";
}


//Validating enquiry type
if($conNatureof == "-")
{
    $errorText = $errorText . "- Please select your nature of enquiry<br />";
}

//Validating subject and message
if($conSubject == "")
{
    $errorText = $errorText . "- Please enter a subject<br />";
}

if($conMessage == "")
{
    $errorText = $errorText . "- Please enter a message<br />";
}


// If everything is OK, send the email
if ($errorText == '') 
{
    $to = "jademulholland@hotmail.com";
    $subject = $conSubject;
    $message = $conMessage;
    $from = $conEmail;
    $headers = "From:" . $conName;
    mail($to,$subject,$message,$headers);
}

return $errorText;
}

そのコードのほとんどが問題の診断に必要ないことはわかっていますが、できるだけ多くのコードを提供することが適切だと思いました。

すべてのヘルプは大歓迎です、ありがとう

4

1 に答える 1