Door
gertjan spit
op 10-08-2018 14:01
gewijzigd op 10-08-2018 16:01
4.174 views
Hallo
Heb een formulier gemaakt in PHP in met een gedeelte HTML nu wil het formulier niet verzenden en de items die ingevuld moeten worden worden na het versturen ook niet uit de tekst vakken gewist. Ben niet erg thuis in html en php maar zou graag dit formulier werkend willen krijgen. Kan iemand mij vertellen wat er fout is en hoe het op de juiste moet zijn??
Hieronder het php scriptje en het stukje html
Ik heb zelf uit interesse het scriptje van Thomas gedraait.
Het werkt perfect. Op het scherm krijg ik "succes" als melding te zien
en ik ontvang de mail als volgt op mijn mailadres:
Hoi Hans Cappon dank voor je bericht. Ik twijfel er ook geen moment aan dat het scriptje van Thomas niet goed is.
Het gaat er alleen om dat het niet werkt bij de hosting, en dat ik niet snap waarom niet. Heb het script van Thomas ook op een andere server geprobeerd waarvan ik zeker weet dat die PHP goed verzend maar ook daar werkt het niet. ben ten einde raad en hoop dat iemand nog een goed idee heeft.
En daarbij is phpMailer ook flexibeler omdat je het kan aansluiten op een andere SMTP-servers of zelfs je Gmail. Plus dat je ook makkelijk kan debuggen via de debug-instelling. Dus je prima te horen krijgen waarom een SMTP-server je mailtje kan weigeren. Uiteraard wil dit alsnog geen bevestiging geven dat de mail daadwerkelijk aankomt, maar het is wel een stap verder in het proces dat wat PHP via mail() bereikt.
Uiteraard heb ik het nieuwe script van Thomas ook getest op mijn xampp-server en op mijn hosting, met de gegevens form van gertjan, en in beide test werkte het gewoon.
Op beeldscherm verschijnt de "succes melding" en de mailtjes komen binnen met de gegevens uit de form.
Nogmaals je dient met meer informatie te komen om je kunnen helpen.
Of zoals Ariën zegt PHPMailer gebruiken.
Hallo na veel hoofdbrekens ben ik erachter gekomen dat er bij het formulier een main.js bestand bij hoort.
dit bestand heb ik gevonden en het gedeelte van het form in het java script eruit gehaald. en weer geprobeerd. Ik krijg nu van het formulier de melding succes! op een geheel witte pagina en het bericht komt nu keurig binnen. Dus nu werkt het. Ik weet niet of ik het stukje java hier kan posten omdat het een PHP hulp site is. Maar anders hoor ik dit graag. Sorry voor het ongemak dat ik dit niet eerder heb gezien.
Zou graag het main.js script behouden omdat het ook een dank u melding geeft. Maar er zit iets fout wat zorgt voor het niet versturen van dit form.
je bedoelt dat het een Javascript-code is, en geen Java. Want dat is beiden een andere programmeertaal.
maar wat gaat er nu precies is? je hebt ontdekt dat je formulier (niet het PHP-script) afhankelijk was van de nodige JavaScript. Die heb je nu toegevoegd, dus werkt het toch?
Hoi Arien
Nee de code van Thomas werkt ook bij mij. in het formulier waar het probleem mee is geeft na het invullen en verzenden een dank berichtje. Dit dank berichtje heb ik gevonden in een bestand wat heet main.js en staat in een js map. In de mail.js heb ik een gedeelte gevonden waarbij staat (form)dit gedeelte heb ik verwijderd. en dan verzend het formulier wel met het script van Thomas en krijg ook mail binnen. Plaats ik het gedeelte form weer in de main.js dan werkt het niet meer hij geeft wel het bedankt voor uw mail, maar krijg dan niets binnen in mijn mail programma. Dus het zit hem in dit stukje script in het bestand main.js.
Ik zal het stukje mee sturen misschien dat iemand zegt dit is fout daarom werkt het niet. nogmaals allen bedankt en ik hoor het wel.
gr gertjan
// Contact form
var form = $('#main-contact-form');
form.submit(function(event){
event.preventDefault();
var form_status = $('<div class="form_status"></div>');
$.ajax({
url: $(this).attr('action'),
beforeSend: function(){
form.prepend( form_status.html('<p><i class="fa fa-spinner fa-spin"></i> Email is sending...</p>').fadeIn() );
}
}).done(function(data){
form_status.html('<p class="text-success">Dank voor uw bericht. Wij nemen spoedig contact met u op</p>').delay(3000).fadeOut();
});
});
//Google Map
var latitude = $('#google-map').data('latitude');
var longitude = $('#google-map').data('longitude');
function initialize_map() {
var myLatlng = new google.maps.LatLng(latitude,longitude);
var mapOptions = {
zoom: 14,
scrollwheel: false,
center: myLatlng
};
var map = new google.maps.Map(document.getElementById('google-map'), mapOptions);
var marker = new google.maps.Marker({
position: myLatlng,
map: map
});
}
google.maps.event.addDomListener(window, 'load', initialize_map);