quando invio mi viene fuori questo messaggio:{"message":"email format invalid.","code":0} e non ricevo la mail. dove sta errore
quando invio mi viene fuori questo messaggio:{"message":"email format invalid.","code":0} e non ricevo la mail. dove sta errore
sono stato bloccato
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$subject = $_POST['subject'];
header('Content-Type: application/json');
if ($name === ''){
print json_encode(array('message' => 'Name cannot be empty', 'code' => 0));
exit();
}
if ($email === ''){
print json_encode(array('message' => 'Email cannot be empty', 'code' => 0));
exit();
} else {
if (!filter_var($email, FILTER_VALIDATE_EMAIL)){
print json_encode(array('message' => 'Email format invalid.', 'code' => 0));
exit();
}
}
if ($subject === ''){
print json_encode(array('message' => 'Subject cannot be empty', 'code' => 0));
exit();
}
if ($message === ''){
print json_encode(array('message' => 'Message cannot be empty', 'code' => 0));
exit();
}
$content="From: $name \nEmail: $email \nMessage: $message";
$recipient = "youremail@here.com";
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $content, $mailheader) or die("Error!");
print json_encode(array('message' => 'Email successfully sent!', 'code' => 1));
exit();
quando ho detto sono stato bloccato mi riferivo al forum che non mi faceva scrivere spero in risposte positive non negative.
Se stai trattando un semplice modulo di contatto non riesco a capire il modo di gestire gli errori in quel modo, uno dei problemi potrebbe essere questo : header('Content-Type: application/json');
Stai testando il tutto da remoto o locale ?
e per creare un form di contatto e lo sto provando online a parte questo ninja cosa devo scrivere nel : header('Content-Type: application/json'); non sono molto pratico.
Non è sempre facile rispondere senza sapere il contesto della situazione e senza avere il progetto sottomano, ma visto che dovrebbe essere una cosa basica, potresti fare cosi :
Codice PHP:
$name = $_POST['name'];
$email = $_POST['email'];
$msg = $_POST['message'];
$subject = $_POST['subject'];
$message = "From: $name \nEmail: $email \nMessage: $msg";
$to = "youremail@here.com";
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type: text/html; charset=UTF-8" . "\r\n";
$headers .= "From: $email \r\n";
if(mail($to, $subject, $message, $headers)){
echo 'messaggio inviato';
}else {
echo 'errore invio messaggio';
}
graizie ma non funziona comunque ho trovato un altro codice php e funziona un altra cosa per avere oggetto variabile non fisso cosa devo scrivere nel php? scusa ma non troppo tecnico
cioè io quando ricevo la mail l'oggetto deve essere composto da chi me lo manda non un titolo fisso la mia idea e che ci vuole qualche collegamento con form di contatto o sbaglio ninja