questa è la pagina nella quale ho un form per inviare email:
Codice PHP:
<?php
require 'class.mail.php';
if (isset($_POST['send'])) {
require_once 'control.php';
$errori = validate_field($_POST['from_address'], $_POST['message']);
if (empty($errori)) {
$from = $_POST['from_address'];
$cc = $_POST['cc_address'];
$subj = $_POST['subject'];
$text = $_POST['message'];
$mail = new mail_og();
$mail->setToAddress('email');
$mail->setFromAddress($from);
$mail->setCcAddress($cc);
$mail->setSubject($subj);
$mail->setTextBody($text);
// if ($mail->send()) {
// echo "
Il messaggio è stato inviato
";
// echo "[b]From:[/b] " . $_POST['from_address'] . "
";
// echo '[b]CC:[/b] ' . $_POST['cc_address'] . "
";
// echo "[b]Subject:[/b] " . $_POST['subject'] . "
";
// echo "[b]Message:[/b]</p>";
// echo nl2br($_POST['message']);
// echo '
Tra 5 secondi sarai reindirizzato nella home page.';
// header('refresh: 5; url=index.html');
// }
}
} else if (isset($errori)) {
if (!empty($array_errori)) {
echo 'Si sono verificati i seguenti errori:
';
foreach ($errori as $key => $value) {
echo '-' . '[b]' . $value . '[/b]' . '
';
}
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="style.css" type="text/css" />
<link href='http://fonts.googleapis.com/css?family=Orbitron' rel='stylesheet' type='text/css'>
<title>Contact Us</title>
</head>
<body>
<form method="post" action="#">
<table>
<tr>
<td>Your email: </td>
<td><input type="text" name="from_address" value="" size="40" /></td>
<td>*</td>
</tr>
<tr>
<td>CC:</td>
<td><input type="text" name="cc_address" value="" size="40" /></td>
</tr>
<tr>
<td>Subject:</td>
<td><input type="text" name="subject" value="" size="40" /></td>
</tr>
<tr>
<td valign="top">Message:</td>
<td>
<textarea name="message" rows="10" cols="60"></textarea>
</td>
<td>*</td>
</tr>
<tr>
<td><input type="submit" value="Send" name="send" /></td>
<td><input type="reset" value="Reset" name="reset" /></td>
</tr>
</table>
</form>
</body>
</html>
il file control.php è questo:
Codice PHP:
<?php
function valida_text($field) {
if ($field == "") {
return "Non e' stato inserito nessun testo
";
}
return ""; // se tutto ok è vuoto
}
function valida_email($field) {
if ($field == "") {
return "Nessuna Email inserita
";
} else if (!((strpos($field, ".") > 0) && (strpos($field, "@") > 0)) || preg_match("/[^a-zA-Z0-9.@_-]/", $field)) {
return "L'indirizzo Email è invalido
";
}
return "";
}
function validate_field($text, $email) {
$email = trim($email);
$error = array();
if (valida_text($text) != '') {
$error[] = valida_text($text);
}
if (valida_email($email) != '') {
$error[] = valida_email($email);
}
}
?>
nn funziona.
se lascio tutti i campi vuoti e clicco su send nn succede nulla mentre mi dovrebbe restituire un errore.
nn riesco a capire dove sbaglio!