Napisao sam jedan kod koji proverava validaciju forme i ujedno i salje e-mail. E sad problem je sto se mail salje i ako je prosla validacija i ako nije. Znam da mi nedostaje sad jedan deo koda za to. Ali treba mi pomoc zapeo sam. Pa cu ostaviti ovde ceo kod pa da mi pomogne neko ako moze. Hvala.
<?php
include "kontakt.php";
?>
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="POST" enctype="multipart/form-data">
<input type="hidden" name="action" value="submit">
<div class="name">ime:</div>
<input name="name" type="text" value="" size="30"/>
<span><?php echo $err_name;?></span>
<div class="email">email:</div>
<input name="email" type="text" value="" size="30"/>
<span><?php echo $err_email;?></span>
<div class="message">poruka:</div>
<textarea name="message" rows="7" cols="30"></textarea><br>
<span><?php echo $err_message;?></span>
<input type="submit" name="submit" value="Submit" id="submit">
</form>
A evo i php
<?php
require './PHPMailer/PHPMailerAutoload.php';
// varijable
$err_name = $err_email = $err_message = $err_forma = "";
// Konfiguracija PHPMailer-a
$mailer = new PHPMailer;
$error_message = "";
try {
if (isset($_POST['submit'])) {
$name = isset($_POST['ime']) ? $_POST['ime'] : FALSE;
$email = isset($_POST['email']) ? $_POST['email'] : FALSE;
$message = isset($_POST['message']) ? $_POST['message'] : FALSE;
$mailer->From = $email; // Email posaljioca
$mailer->FromName = "Nova Porudzbina"; // Ime Posaljioca
$mailer->AddAddress("[email protected]"); //adresa na koju se salje
$mailer->isHTML(TRUE); // set email format to HTML
$mailer->WordWrap = 50; // set word wrap to 50 characters
$mailer->CharSet = "utf-8"; //"ukljucuje" cirlicna slova, kao i latinicna sa kvacicama
$mailer->Subject = 'zahtev za podršku: ' . $naziv_servera;
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = test_input($_POST["name"]);
$name_exp = "/^[A-Za-z\p{L} .'-]{2,40}+$/u"; // Dozvoljava naša slova i ograničava da najmanje može 2 a najviše 40 karaktera
if (!preg_match($name_exp, $name)) {
$err_name .= 'Vaše ime nije validno.';
}
$email = test_input($_POST["email"]);
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if (!preg_match($email_exp, $email)) {
$err_email .= 'Vaša e-mail adresa nije validna.';
}
$message = test_input($_POST["message"]);
$message_exp = "/^[A-Za-z\p{L} .'-]{2,400}+$/u";
if (!preg_match($message_exp, $message)) {
$err_message .= 'Vaša poruka nije validna.';
}
/*
OVDE SAD TREBA NEKI KOD KOJI CE DA STOPIRA SLANJE AKO IMA NEKA GRESKA.
*/
}
}
// Body
$body = "<h2 style='background: red; color: #fff;'>Nova Porudzbina</h2>";
$body .= "<b>Ime i Prezime:</b>" . $name . "<br>";
$body .= "<b>Email:</b>" . $email . "<br>";
$body .= "<b>Poruka:</b>" . $message . "<br>";
$mailer->Body = $body;
// Posalji
$mailer->send();
echo "Vasa porudzbina je uspesno poslata. Hvala";
}
}
catch (phpmailerException $ex) {
echo $ex->errorMessage();
}
catch (Exception $ex) {
echo $ex->getMessage();
}
function test_input($data)
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}