[ F4U5T @ 10.11.2015. 21:04 ] @
Poz, 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. Code: <?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 Code: <?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._%-][email protected][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; } |