0

お問い合わせフォームを機能させるのに苦労しています。私はPHPの経験がほとんどありません。このフォームを自分宛に電子メールで送信しようとしていますが、基本的に何をしているのかわかりません。

フォームのコピーを自分の電子メールに電子メールで送信し、チェックボックスがクリックされたボックスを表示するようにするために必要です。

誰かが助けてくれれば幸いです。

これが私のhtmlです

<form name="htmlform" method="post" action="send_form_email.php">
<table width="561">
<tr>
 <td width="212" align="right" valign="top">
  <label for="name">*Name</label>
 </td>
 <td width="337" valign="top">
  <input  type="text" name="name" maxlength="150" size="50">
 </td>
</tr>
<tr>
 <td valign="top" align="right">
  <label for="company">*Company</label>
 </td>
 <td width="337" valign="top">
  <input  type="text" name="name" maxlength="150" size="50">
 </td>
</tr>
<tr>
 <td valign="top" align="right">
  <label for="telephone">Phone</label>
 </td>
 <td valign="top">
  <input  type="text" name="telephone" maxlength="150" size="50">
 </td>
</tr>
<tr>
 <td valign="top" align="right">
  <label for="email">*Email Address</label>
 </td>
 <td valign="top">
  <input  type="text" name="email" maxlength="180" size="50">
 </td>
 </tr>
 <tr>
 <td valign="top" align="right">
  <label for="services">*Current Services<br />
(check all that apply)</label>
 </td>
 <td valign="top">
<input type="checkbox" name="services[]" value="none" />&nbsp;None<br />

<input type="checkbox" name="services[]" value="coffee" />&nbsp;Coffee<br />

<input type="checkbox" name="services[]" value="vending" />&nbsp;Vending<br />

<input type="checkbox" name="services[]" value="watercoolers" />&nbsp;Water Coolers<br />

<input type="checkbox" name="services[]" value="cafeteria" />&nbsp;Cafeteria<br />

 </td>
 </tr>
<tr>
 <td valign="top" align="right">
  <label for="comments">*Comments</label>
 </td>
 <td valign="top">
  <textarea  name="comments" maxlength="1000" cols="40" rows="6"></textarea>
 </td>

</tr>
<tr>
 <td colspan="2" style="text-align:center">
  <center><input type="submit" value="Submit Form"></center>
 </td>
</tr>
</table>
</form>

これが私のphpです。

<?php
if(isset($_POST['email'])) {

    // EDIT THE 2 LINES BELOW AS REQUIRED
    $email_to = "michael@mrugenus.com";
    $email_subject = "Contact form";

    $email_message = "Form details below.\n\n";

    function clean_string($string) {
      $bad = array("content-type","bcc:","to:","cc:","href");
      return str_replace($bad,"",$string);
    }

    $email_message .= "Name: ".clean_string($name)."\n";
    $email_message .= "Email: ".clean_string($email_from)."\n";
    $email_message .= "Telephone: ".clean_string($telephone)."\n";
    $email_message .= "Services: ".implode(",", $_POST['services'])."\n";
    $email_message .= "Comments: ".clean_string($comments)."\n";


// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers); 
?>

<!-- include your own success html here -->
<center>
<img src="images/logo.png" />
  <br>
  <br>
  Thank you for contacting us.  We will be in touch.<br>
<br>
 <a href="index.html">HOME</a></center>

<?php
}
?>
4

2 に答える 2

1

OKその修正:PHPファイル:

<?php
error_reporting(-1);
ini_set('display_errors', 'On');
if(isset($_POST['email'])) {

// EDIT THE 2 LINES BELOW AS REQUIRED
$email_to = "someone@gmail.com";
$email_subject = "Contact form";
$email_from = "from@from.com";

$email_message = "Form details below.\n\n";

function clean_string($string) {
  $bad = array("content-type","bcc:","to:","cc:","href");
  return str_replace($bad,"",$string);
}

$email_message .= "Name: ".clean_string($_POST["name"])."\n";
$email_message .= "Email: ".clean_string($_POST["email"])."\n";
$email_message .= "Telephone: ".clean_string($_POST["telephone"])."\n";
$email_message .= "Services: ".implode(" ", $_POST['services'])."\n";
$email_message .= "Comments: ".clean_string($_POST["comments"])."\n";


// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($email_to, $email_subject, $email_message, $headers); 
?>

<!-- include your own success html here -->
<center>
<img src="images/logo.png" />
  <br>
  <br>
  Thank you for contacting us.  We will be in touch.<br>
<br>
 <a href="index.html">HOME</a></center>

<?php
}
?>
于 2013-10-23T17:50:39.777 に答える
0

SELECTCHECKBOX、を使用して作業を開始するサンプル コードを次に示しTEXTBOXます。

    <form name="prf_form" method="post" action="email.php">
    <input type="text" class=tBox title="This should be a 'C-Level' or VP" id="eSponsor" name="esponsor"></input>
    <select name="sponsorinform">
        <option value="Yes">Yes</option>
        <option value="No" SELECTED>No</option>
    </select>
    <input type=checkbox name="pj_regulatory" value="Regulatory" /> Regulatory<img src="bLine.png" width=20 /><input type=checkbox name="pj_revenhancement" value="Revenue Enhancement" /> Revenue Enhancement
    </form>

email.php:_

       // Clean up the input values 
        foreach($_POST as $key => $value) {  
            $_POST[$key] = stripslashes($_POST[$key]); 

            $_POST[$key] = htmlspecialchars(strip_tags($_POST[$key])); 
        }
    $esponsor = trim(strip_tags(stripslashes($_POST['esponsor'])));
    $sponsorinform = trim(strip_tags(stripslashes($_POST['sponsorinform'])));
    $pj_regulatory = trim(strip_tags(stripslashes($_POST['pj_regulatory'])));
    $pj_revenhancement = trim(strip_tags(stripslashes($_POST['pj_revenhancement'])));

    echo $esponsor; //displays the text entered
    echo $sponsorinform; //displays YES or NO
    echo $pj_regulatory;
    echo $pj_revenhancement;

$sentMailSubject = "Project Request From $customerfname $customerlname";

// To send HTML mail, the Content-type header must be set
$sentHeader  = 'MIME-Version: 1.0' . "\r\n";
$sentHeader .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Additional headers
//$to  = 'aidan@example.com' . ', '; // note the comma
//$to .= 'wez@example.com';
// ^^^^^ for multiple email address
$sentHeader .= 'From: ' . $customerfname . ' <' . $userEmail . '>' . "\r\n";

$sentMailBody = "TEST";

$toEmail = "youremail@yourdomain.com, someoneelse@some.com";

mail($toEmail, $sentMailSubject, $sentMailBody, $sentHeader); //send to us
于 2013-10-23T17:57:19.593 に答える