My form has worked fine, but now I have a problem with my form: no mail is sent even if the form is correct and complete, no error message if the input is not correct (e.g address mail or phone number or min. lenght of input name).
The (last) PHP version of host is 5.6.10.
Please, can somebody help me? Thx.
The form code:
<?php session_start(); ?>
<!DOCTYPE....>
<head>
...
</head>
<body>
...
...
<?php include 'scripts/contact.php'; ?>
<form action="Contact.php" method="post" accept-charset="UTF-8">
<table id="formular">
<tr>
<td><label for="nume">Nume: <span style="color: red"><sup>*</sup></span> </label></td>
<td><input type="text" name="nume" id="nume" maxlenght="20" value="<?php echo $_POST['nume']; ?>" /></td>
<td><span class="err"><?php if(isset($errors['nume'])&&$error) { print $errors['nume']; } ?></span></td>
</tr>
<tr>
<td><label for="prenume">Prenume: <span style="color: red"><sup>*</sup></span> </label></td>
<td><input type="text" name="prenume" id="prenume" maxlenght="20" value="<?php echo $_POST['prenume']; ?>" /></td>
<td><span class="err"><?php if(isset($errors['prenume'])&&$error) { print $errors['prenume']; } ?></span></td>
</tr>
<tr>
<td><label for="telefon">Telefon: <span style="color: red"><sup>*</sup></span> </label></td>
<td><input type="text" name="tel" id="tel" maxlenght="20" value="<?php echo $_POST['tel']; ?>" /></td>
<td><span class="err"><?php if(isset($errors['tel'])&&$error) { print $errors['tel']; } ?></span></td>
</tr>
<tr>
<td><label for="email">Email: <span style="color: red"><sup>*</sup></span> </td>
<td><input type="text" name="email" id="email" maxlength="50" value="<?php echo $_POST['email']; ?>" /></label></td>
<td><span class="err"><?php if(isset($errors['email'])&&$error) { print $errors['email']; } ?></span></td>
</tr>
<tr>
<td><label for="mesaj">Mesaj: <span style="color: red"><sup>*</sup></span> </label></td>
<td><textarea cols="20" rows="5" wrap="virtual" id="mesaj" name="mesaj" maxlength="150" onkeyup="nrcaractere()"><?php echo $_POST['mesaj']; ?></textarea><br>
<div id="ramase">150 chars remaining</div>
<script type="text/javascript">window.ready = nrcaractere();</script></td>
<td><span class="err"><?php if(isset($errors['mesaj'])&&$error) { print $errors['mesaj']; } ?></span></td>
</tr>
<tr>
<td></td>
<td align="center">
<button type="submit" name="trimite" />Trimite</button>
<button type="button" name="reset" onClick="sterge()" />Reset</button></td>
<td></td>
</tr>
</table>
</form>
...
...
and the validation script:
<?php
if (isset($_POST['trimite']))
{ $error = FALSE;
if (empty($_POST['nume'])) {
$errors['nume']=' Mandatory';
$error = TRUE;
}
else {
if (!preg_match('/^[a-zA-Z]{1,}$/',$_POST['nume'])) {
$errors['nume']=' Only letters';
$error = TRUE;
}
else {
if (strlen($_POST['nume'])<3) {
$errors['nume']=' Too short. Min. 3 chars';
$error = TRUE;
}
else {
$errors['nume']='<img src=/images/ok.jpg>';
}
}
}
if (empty($_POST['prenume'])) {
$errors['prenume']=' Mandatory';
$error = TRUE;
}
else {
if (!preg_match('/^[a-zA-Z]{1,}$/',$_POST['prenume'])) {
$errors['prenume']=' Only letters';
$error = TRUE;
}
else {
if (strlen($_POST['prenume'])<3) {
$errors['prenume']=' Too short. Min. 3 chars';
$error = TRUE;
}
else {
$errors['prenume']='<img src=/images/ok.jpg>';
}
}
}
if (empty($_POST['tel'])) {
$errors['tel']=' Mandatory';
$error = TRUE;
}
else {
if ( !preg_match('/^[0-9]{4}[\s.]{0,1}[0-9]{3}[\s.]{0,1}[0-9]{3}$/', $_POST['tel']) && !preg_match('/^[0-9]{3}[\s.]{0,1}[0-9]{3}[\s.]{0,1}[0-9]{2}[\s.]{0,1}[0-9]{2}$/', $_POST['tel']) && ($_POST['tel'] != '-')) {
$errors['tel']=' Mask: 021.021.02.01 or 0740.123.456 or -';
$error = TRUE;
}
else {
$errors['tel']='<img src=/images/ok.jpg>';
}
}
if (empty($_POST['email'])) {
$errors['email']=' Mandatory';
$error = TRUE;
}
else {
if (!preg_match('/^[a-z0-9&\'\.\-_\+]+@[a-z0-9\-]+\.([a-z0-9\-]+\.)*+[a-z]{2}/is', $_POST['email'])) {
$errors['email']=' Invalid address';
$error = TRUE;
}
else {
$errors['email']='<img src=/images/ok.jpg>';
}
}
if (empty($_POST['mesaj'])) {
$errors['mesaj']=' Mandatory';
$error = TRUE;
}
else {
if (strlen($_POST['mesaj'])<15) {
$errors['mesaj']=' Too short. Min. 15 chars';
$error = TRUE;
}
else {
if (strlen($_POST['mesaj'])>150) {
$errors['mesaj']=' Too long. Max. 150 chars';
$error = TRUE;
}
else {
$errors['mesaj']='<img src=/images/ok.jpg>';
}
}
}
if (!$error) {
$destinatar = "my_address@yahoo.com";
$subject = "Site message";
$body = 'Nume: '.$_POST['nume'].'
<br>
Prenume: '.$_POST['prenume'].'
<br>
Telefon: '.$_POST['tel'].'
<br>
Email: '.$_POST['email'].'
<br><br>
Mesaj: '.$_POST['mesaj'];
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
if (mail($destinatar,$subject,$body,$headers)) {
echo '<script type="text/javascript">alert("Message sent!")</script>';
unset($_POST);
}
else {
echo '<script type="text/javascript">alert("Not sent. Try again!")</script>';
}
}
}
$_SESSION['s']=$s;
?>
PS. Excuse my bad English.