私はPHPでかなりの数の連絡フォームを問題なく作成しましたが、私はoopに非常に慣れていないため、これがどのように機能するかについて頭を悩ませることはできません. 私はこれを独学で教えてくれる家庭教師と一緒に働いています。同じフォームで指定された電子メールにユーザー情報を送信する簡単な連絡先フォームを作成することでした。これらは私の要件でした:
User クラスは次のようにする必要があります。
関連する送信データをクラスのプロパティとして含める
クラスを宣言し、1 つのステートメントでデータを設定できるコンストラクター メソッドを用意する
Email クラスは次のことを行う必要があります。
静的であること
1 つのステートメントでメールを送信できるメソッドを用意する
書式タグ ([b] / [i] / [[name]]) を適切な同等のものに置き換えるメソッドを用意する
メソッドへの適切なアクセス権がある (プライベート / パブリック)
メールが送信されない理由を調べたいだけなので、検証や構文変換については今のところ心配していません。
runner.php:
<?php
class User {
public $firstName;
public $lastName;
public $toEmail;
public $fromName;
public $fromEmail;
public $subject;
public $message;
public function post() {
if (isset($_POST['Submit'])) {
$mail = new email($_POST['firstName'], $_POST['lastName'], $_POST['toEmail'], $_POST['fromName'], $_POST['fromEmail'], $_POST['subject'], $_POST['message']);
$mail->toEmail = $POST['$toEmail'];
$mail->sendMail();
}
}
}
class email {
private $fristName;
private $lastName;
private $toEmail;
private $fromName;
private $fromEmail;
private $subject;
private $message;
public static function __construct($firstName, $lastName, $toEmail, $fromName, $fromEmail, $subject, $message) {
$this->firstName = $firstName;
$this->lastName = $lastName;
$this->toEmail = $toEmail;
$this->fromName = $fromName;
$this->fromEmail = $fromEmail;
$this->subject = $subject;
$this->firstName = $message;
}
function sendMail($mail) {
$contents = "To: $firstName $lastName<br />From: $fromName<br />Subject: $subject<br />Message: $message";
$headers = "From:" . $fromEmail;
$sendmail = mail($this->toEmail, $this->subject, $this->message, $this->contents, $headers);
}
}
?>
フォーム.html:
<html>
<head>
</head>
<body>
<form action="runner.php" method="POST">
<b>To</b></br>
<label>First Name</label>
<input type="text" name="firstName" id="firstName"></br>
<label>Last Name</label>
<input type="text" name="lastName" id="lastName"></br>
<label>Email</label>
<input type="text" name="toEmail" id="toEmail"></br></br>
<b>From</b></br>
<label>Name</label>
<input type="text" name="fromName" id="fromName"></br>
<label>Email</label>
<input type="text" name="fromEmail" id="fromEmail"></br></br>
<b>Compose Email</b></br>
[b]<b>bold</b>[\b] and [i]<i>italic</i>[\i] tags permitted in email body</br>
<label>Subject</label>
<input type="text" name="subject" id="subject"></br>
<label>Body</label>
<textarea name="message" id="message"></textarea></br></br></br>
<input type="submit" value="Submit"></form>
</body>
</html>
これで正しい軌道に乗っているかどうかさえわかりません。ヘルプ/リソースをいただければ幸いです。