Buongiorno, sono nuovo del forum e innanzitutto vi saluto e vi ringrazio in anticipo.
Durante questo periodo di pausa dal lavoro causa CONVID-19 mi sono riavvicinato alla programmazione in HTML e CSS.
Mi piace molto la piattaforma BOOTSTRAP e sto cercando di lavorare con quella.
Sto creando un sito per un'amica e mi sono bloccato sull'invio dei dati tramite FORM.
Per la creazione di un server ho scaricato XAMPP, quindi posso testarne il funzionamento.
Nel momento in cui compilo i campi del form e clicco su invia, non succede praticamente nulla se non la visualizzazione del messaggio SENDING...
questo è il bottone di invio, che nel momento in cui clicco sul bottone richiama la funzione javascript validateForm()
<div class="text-center text-md-left">
<a class="btn btn-primary" onclick="validateForm();">Send</a>
</div>
<div class="status"></div>
</div>
qui di seguito incollo lo script javascript valideteForm()
<script>
function validateForm() {
var name = document.getElementById('name').value;
if (name == "") {
document.querySelector('.status').innerHTML = "Name cannot be empty";
return false;
}
var email = document.getElementById('email').value;
if (email == "") {
document.querySelector('.status').innerHTML = "Email cannot be empty";
return false;
} else {
var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
if(!re.test(email)){
document.querySelector('.status').innerHTML = "Email format invalid";
return false;
}
}
var subject = document.getElementById('subject').value;
if (subject == "") {
document.querySelector('.status').innerHTML = "Subject cannot be empty";
return false;
}
var message = document.getElementById('message').value;
if (message == "") {
document.querySelector('.status').innerHTML = "Message cannot be empty";
return false;
}
document.querySelector('.status').innerHTML = "Sending...";
}
</script>
la pagina php che riceve i dati è questa.
<?php
$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 = "";
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $content, $mailheader) or die("Error!");
print json_encode(array('message' => 'Email successfully sent!', 'code' => 1));
exit();
?>
Cosa sto sbagliando? è da 2 giorni che ci sto sbattendo la testa
Aiutatemi per favore