[PHP] Prośba o pomoc przy formularzu kontaktowym
: pn cze 15, 2009 11:15 pm
Witam serdecznie! Mam taki formularz:
oraz kod php
[php]
<?php
if(!$_POST['zgoda1']=='1'){
echo "Nie potwierdzono: Wyrażam zgodę na przetwarzanie moich danych w formularzu";
}
elseif(!$_POST['zgoda2']=='1'){
echo "Nie potwierdzono: Potwierdzam, że dane wypełniłem prawidłowo";
}else{
class MicroMailer{
var $to = "";
var $subject = "";
var $message = "";
var $fromName = "";
var $fromEmail = "";
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->fromEmail\r\n";
$params = "MIME-Version: 1.0r\n";
$params = "Content-type: $this->type; charset=$this->characterSet\r\n";
$this->header = $from.$replay.$params;
return $this->header;
}
}
$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->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]
Wszystko chodzi ślicznie, tylko nie wiem jak dodać do niego dwie ważne dla mnie funkcje:
- sprawdzanie, żeby pole fromEmail było weryfikowane
- sprawdzanie, czy użytkownik uzupełnił wszystkie pola
Znawców php bardzo proszę o pomoc.
Kod: Zaznacz cały
<form action="serwer/mailer.php" method="post">
<p>Podaj swoje imię:</p>
<input type="text" name="fromname" /><br />
<p>Podaj swój e-mail:</p>
<input type="text" name="fromemail" /><br />
<p>Temat:</p>
<input type="text" name="subject" /><br />
<p>Treść wiadomości:</p>
<textarea name="message" cols="30" rows="6"></textarea><br />
<p>Do kogo?</p>
<select name="to" size="1">
<optgroup label="Wybierz odbiorcę:">
<option value="[email protected]">adres1</option>
<option value="[email protected]">adres2</option>
</optgroup>
</select><br />
<p>
<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.
</p>
<input type="submit" value="Wyślij!" />
</form>
[php]
<?php
if(!$_POST['zgoda1']=='1'){
echo "Nie potwierdzono: Wyrażam zgodę na przetwarzanie moich danych w formularzu";
}
elseif(!$_POST['zgoda2']=='1'){
echo "Nie potwierdzono: Potwierdzam, że dane wypełniłem prawidłowo";
}else{
class MicroMailer{
var $to = "";
var $subject = "";
var $message = "";
var $fromName = "";
var $fromEmail = "";
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->fromEmail\r\n";
$params = "MIME-Version: 1.0r\n";
$params = "Content-type: $this->type; charset=$this->characterSet\r\n";
$this->header = $from.$replay.$params;
return $this->header;
}
}
$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->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]
Wszystko chodzi ślicznie, tylko nie wiem jak dodać do niego dwie ważne dla mnie funkcje:
- sprawdzanie, żeby pole fromEmail było weryfikowane
- sprawdzanie, czy użytkownik uzupełnił wszystkie pola
Znawców php bardzo proszę o pomoc.