Autor Zpráva
frodos
Profil *
Dobrý den,

chci se zeptat na problém s odesíláním mailu pomocí phpmailer. Nějak mi furt odesílá mail bez textu. Nevíte co dělám špatně? Děkuju

    $mail->Body = implode($bo);
    $mail->CharSet = "utf-8";
    if(!empty($bo)){
      $mail->Send();
    }
janbarasek
Profil
frodos:
Je v proměnné $bo nějaké pole? Funkce implode slouží ke spojení pole podle nějakého vzoru. Navíc tam nemáš zadaný vzor, podle kterého spojovat.
Příklad správné syntaxe:
$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);

echo $comma_separated; // lastname,email,phone

Chyba je tady:
$mail->Body = implode("něco", $bo);

TIP: Místo if(!empty($bo)){ ... } bych použil spíše: if (isset($bo)) { ... }
Chro
Profil
Implode i bez uvedeného spojovače (bez 1. parametru) spojí pole do řetězce, takže zápis funkce je správný.
janbarasek
Profil
Chro:
V tom případě pravděpodobně je proměnná prázdná, proto se podmínka vyhodnotí jako nepravda a nic se neodešle. Chyba ale může být i úplně někde jinde, když je zde vidět jen výseč kódu. Myslím, že by PHP error mohl napovědět, kde je chyba.
frodos
Profil *
Byla chyba v array, ale už je opravena díky vám. Moc děkuju

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0