我已经在 PHP 中完成了很多联系表单没问题,但是我对 oop 很陌生,我不能完全理解它应该如何工作。我正在与一位帮助我自学这一点的导师合作,基本上为我提供了学习 oop 的资源,但我一直坚持这一点。我要制作一个简单的联系表格,将用户信息发送到同一表格上指定的电子邮件。这些是我的要求:
用户类应该:
包含相关提交的数据作为类的属性
有一个构造方法,可以让你在一个语句中声明类并设置数据
电子邮件类应该:
保持静止
有一种方法可以让您在一个声明中发送电子邮件
有一种方法可以用适当的等价物替换格式化标签([b] / [i] / [[name]])
可以正确访问方法(私有/公共)
我现在不担心验证或语法转换,因为我只想弄清楚为什么电子邮件没有发送。
亚军.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>
我什至不知道我是否走在正确的轨道上。任何帮助/资源将不胜感激。