Poniżej części kodu
Skrypt php na samej górze strony:
Kod: Zaznacz cały
<?php
$NameErr = $EmailErr = $SubErr = $MessErr = "";
$Name = $Email = $Subject = $Message = "";
$From = "xxx@xxx.pl";
$To = "xxx@gmail.com";
$headers ="Od: $Name\n $Message\n E-Mail: $Email\n";
$n = NULL;
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["Name"])) {
$NameErr = "Name is required";}
else {
$Name = test_input($_POST["Name"]);}
if (!preg_match("/^[a-zA-Z ]*$/", $Name)){
$NameErr = "Only letters and white space allowed!";}
if (empty($_POST["Email"])) {
$EmailErr = "Email is required";}
else{
$Email = test_input($_POST["Email"]);
if(!filter_var($Email, FILTER_VALIDATE_EMAIL)){
$EmailErr = "Invalid email format";}}
if (empty($_POST["Subject"])) {
$SubErr = "Subject is required";}
else {
$Message = test_input($_POST["Subject"]);}
if (empty($_POST["Message"])) {
$MessErr = "Message is required";}
else {
$Message = test_input($_POST["Message"]);}
}
$Name = test_input($_POST["Name"]);
$Email = test_input($_POST["Email"]);
$Subject = test_input($_POST["Subject"]);
$Message = test_input($_POST["Message"]);
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
Kod: Zaznacz cały
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post">
<p><input class="w3-input w3-padding-16" type="text" placeholder="Name" name="Name"></p>
<span class="error"><?php echo $NameErr;?></span>
<p><input class="w3-input w3-padding-16" type="text" placeholder="Email" name="Email"></p>
<span class="error"><?php echo $EmailErr;?></span>
<p><input class="w3-input w3-padding-16" type="text" placeholder="Subject" name="Subject"></p>
<span class="error"><?php echo $SubErr;?></span>
<p><input class="w3-input w3-padding-16" type="text" placeholder="Message" name="Message"></p>
<span class="error"><?php echo $MessErr;?></span>
<p>
<button class="w3-btn w3-grey w3-padding-large w3-hover-green" type="submit" value="1" name="pressed">
<i class="fa fa-paper-plane"></i> SEND MESSAGE
</button>
</p>
</form>
<?php
if(isset($_POST["pressed"])) {
mail($to, $Subject, $From, $headers);
if (empty($_POST["Name"])){
echo $n;}
if (empty($_POST["Email"])){
echo $n;}
if (empty($_POST["Subject"])){
echo $n;}
if (empty($_POST["Message"])){
echo $n;}
else{
echo "Email sent.";}}
?>
</div>
#edit
Wiem że jest błąd w skrypcie w walidacji przy buttonie, ale on tego raczej nie powinien powodować?