php发送电子邮件类-第一次尝试
这是我第一次尝试使用php类,以前从未尝试过,我非常喜欢这个过程 代码可能有点乱,如果您有任何建议,我将非常感谢强> 关于这个问题,我试图php发送电子邮件类-第一次尝试,php,oop,class,foreach,Php,Oop,Class,Foreach,这是我第一次尝试使用php类,以前从未尝试过,我非常喜欢这个过程 代码可能有点乱,如果您有任何建议,我将非常感谢 关于这个问题,我试图回显“$asd->getData()”,结果有点奇怪,我无法解释结果: 数组([0]=>nome[1]=>email[2]=>telemovel[3]=>loja[4]=> assunto[5]=>Mensagme[6]=>localidade[7]=>nserie[nome]=> helder[电子邮件]=>eeee[远程移动]=>913582837[洛哈]=>
回显“$asd->getData()”
,结果有点奇怪,我无法解释结果:
数组([0]=>nome[1]=>email[2]=>telemovel[3]=>loja[4]=>
assunto[5]=>Mensagme[6]=>localidade[7]=>nserie[nome]=>
helder[电子邮件]=>eeee[远程移动]=>913582837[洛哈]=>braga
[assunto]=>[Mensagme]=>[localidade]=>[nserie]=>)
我在寻找以下结果:
数组([nome]=>MyName[email]=>emailHotmail[telemovel]=>
手机在这里[loja]=>商店名[assunto]=>主题在这里
[mensagem]=>此处的消息[localidade]=>位置[nserie]=>
序列号(U)
为什么会出现阵列编号/键
<?php
class Email{
private $data;
function Email(){
$this->data=array();
}
public function setData($d){
$this->data = $d;
}
public function valida(){
$verifica = true;
foreach ($this->data as $campo) {
$this->data[$campo] = $_GET[$campo];
if(!isset($_GET[$campo]) || empty($_GET[$campo])){
$verifica=true;
}
}
return $verifica;
}
public function getData(){
print_r($this->data);
}
public function sendEmail($data){
$to = ($this->data['loja']=="braga") ? "email1@email.com" : "email1@email.com";
$subject = $this->data['assunto'];//$campos[4];
$nserie = ($this->data['nserie']) ? '\r\n nº de série:'.$this->data['nserie'] : "";
$localidade = ($this->data['localidade']) ? '\r\n Localidade:'.$this->data['localidade'] : "";
$messages = $this->data['mensagem'];//$campos[5];
$message = $messages.$nserie.$localidade;
$message = htmlspecialchars_decode($message,ENT_QUOTES);//optional - I use encoding to POST data
$name = $this->data['nome'];
$from = $this->data['email'];//$campos[1];
$headers = "From:".$name." <".$from.">\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=utf-8\r\n";
$headers .= "Content-Transfer-Encoding: 8bit";
return mail($to, "=?utf-8?B?".base64_encode($subject)."?=", $message, $headers);
}
}
$asd = new Email();
$campos = array('nome','email','telemovel','loja','assunto','mensagem','localidade','nserie');
$asd->setData($campos);
$asd->sendEmail($data);
echo ($asd->valida($data)) ? "sent<br/>" : "not sent<br/>";
echo "<br/>".$asd->getData()."<br/>";
?>
您正在打印一个数组。您需要循环并打印出数组中的每个项
$campos = array('nome','email','telemovel','loja','assunto','mensagem','localidade','nserie');
与…相同/是…的缩写
$campos = array(0=> 'nome',1=> 'email',....);
您希望在通话中设置$campos,如下所示:
$campos = array('nome' => '','email' => '','telemovel' => '','loja' => '','assunto' => '','mensagem' => '','localidade' => '','nserie' => '');
$asd->setData($campos);
$campos数组是一个值列表,您希望将这些值改为空值
祝你好运