Witam serdecznie! Mam wielki problem ponieważ muszę wykonać formularz z elementami, których nie potrafię zastosować w praktyce :-/
Otóż potrzebuje jeszcze dwóch dodatków do formularza znalezionego na
http://www.egrafik.pl/php-klasa-do-wysylan...e-mail,979.html Są to:
- weryfikacja e-maila od użytkownika. Na tej samej stronie jest fajny skrypt, tylko, że gdy go wklejam do kodu php, przy próbie wysłania, weryfikuje mi, że podałem błędny adres e-mail razem z komunikatem, że e-mail został wysłany pomyślnie :-)
- jeśli użytkownik nie zaznaczy dwóch checkbox'ów chciałbym, aby formularz upomniał go, że trzeba zaznaczyć te pola.
Znawców php bardzo proszę o pomoc.
A oto kod:
<?php require_once("mailer.php"); ?>
<form action="adres_serwera/mailer.php" method="post"> <input type="text" name="fromname" /><br /> <p>Podaj swój e-mail:
</p> <input type="text" name="fromemail" /><br /> <p>Na jaki e-mail odpisa
ć?
</p> <input type="text" name="replyemail" /><br /> <input type="text" name="subject" /><br /> <option value="adres2@gmail.com">drugi adres e-mail
</option> <input type="checkbox" name="zgoda1" value="1" /> Wyra
żam zgod
ę na przetwarzanie moich danych w formularzu
<br /> <input type="checkbox" name="zgoda2" value="1" /> Potwierdzam, że dane wypełniłem prawidłowo.
<input type="submit" value="Wyślij!" />
<?php
class MicroMailer{
var $to = "";
var $subject = "";
var $message = "";
var $fromName = "";
var $fromEmail = "";
var $replyEmail = "";
var $header = "";
var $type = "text/plain";
var $characterSet = "utf-8";
function send(){
$this->createHeader();
if (@mail($this->to,$this->subject,$this->message,$this->header)){ return true;
} else {
return false;
}
}
function createHeader(){
$from = "From: $this->fromName <$this->fromEmail>r\n";
$replay = "Reply-To: $this->replyEmailr\n";
$params = "MIME-Version: 1.0r\n";
$params = "Content-type: $this->type; charset=$this->characterSetr\n";
$this->header = $from.$replay.$params;
return $this->header;
}
}
?>
<?php
$mailer = new MicroMailer();
$mailer->to = isset($_POST["to"]) ?
$_POST["to"] : ""; $mailer->fromName = isset($_POST["fromname"]) ?
$_POST["fromname"] : ""; $mailer->fromEmail = isset($_POST["fromemail"]) ?
$_POST["fromemail"] : ""; $mailer->replyEmail = isset($_POST["replyemail"]) ?
$_POST["replyemail"] : ""; $mailer->subject = isset($_POST["subject"]) ?
$_POST["subject"] : ""; $mailer->message = isset($_POST["message"]) ?
$_POST["message"] : ""; if ($mailer->send()) {
echo "Wiadomość wysłana!"; } else {
echo "Błąd podczas wysyłania wiadomości!"; }
?>
<?php
function walidacja_email($fromemail) {
if (!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,4})$", $fromemail)) {
echo "wprowadzony adres email jest niepoprawny"; } else echo "wprowadziłeś poprawny adres email"; }
$fromemail = $_POST ["fromemail"];
if ($fromemail) walidacja_email($fromemail);
?>
Ten post edytował cachaito 15.06.2009, 20:08:28