contact formulier, webpagina geeft foutmelding na verzending

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior, Medior and Junior SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Veldhoven Vacature ID: 12696 Introductie Our client is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. Wat verwachten we van jou? SAP Certified Application Associate - SAP HANA Cloud Modeling (training and/or certification) Bachelor degree or higher Excellent understanding of SAP HANA (2.0 / Cloud), Data Modelling and writing

Bekijk vacature »

Errol Uysal

Errol Uysal

24/02/2015 11:40:30
Quote Anchor link
beste mensen,

ik worstel nu al een paar dagen met een contact formulier, het code ziet er naar mijn mening goed uit alleen bij verzending krijg ik een pop-up foutmelding van de webpaginga met daarin de text "sorry, unexpected error. please try later." Het bericht wordt wel verzonden, ik ontvang het ook maar wel door mijn provider de melding dat het spam kan zijn. enig idee waar het nog aan kan liggen?
Op mijn hosting heb ik zelfs geprobeerd om de spam filter op het laagste score te zetten, kijken of het daar aan ligt maar tevergeefs.
Light het aan de server waar de website draait misschien?

mvg,

Errol
 
PHP hulp

PHP hulp

16/01/2025 13:18:46
 
CNEPHP -

CNEPHP -

24/02/2015 11:50:26
Quote Anchor link
Op wat voor een server heb je momenteel je site draaien? Is als het goed is aangegeven op de website van je hosting.
 
Errol Uysal

Errol Uysal

24/02/2015 11:58:11
Quote Anchor link
dit is de info van mijn hosting


Naam Waarde
Processornaam Intel(R) Xeon(R) CPU E3-1240 v3 @ 3.40GHz
Vendor ID GenuineIntel
Processorsnelheid (MHz) 3399.861
Processornaam Intel(R) Xeon(R) CPU E3-1240 v3 @ 3.40GHz
Vendor ID GenuineIntel
Processorsnelheid (MHz) 3399.861
Processornaam Intel(R) Xeon(R) CPU E3-1240 v3 @ 3.40GHz
Vendor ID GenuineIntel
Processorsnelheid (MHz) 3399.861
Processornaam Intel(R) Xeon(R) CPU E3-1240 v3 @ 3.40GHz
Vendor ID GenuineIntel
Processorsnelheid (MHz) 3399.861
Processornaam Intel(R) Xeon(R) CPU E3-1240 v3 @ 3.40GHz
Vendor ID GenuineIntel
Processorsnelheid (MHz) 3399.861
Processornaam Intel(R) Xeon(R) CPU E3-1240 v3 @ 3.40GHz
Vendor ID GenuineIntel
Processorsnelheid (MHz) 3399.861
Processornaam Intel(R) Xeon(R) CPU E3-1240 v3 @ 3.40GHz
Vendor ID GenuineIntel
Processorsnelheid (MHz) 3399.861
Processornaam Intel(R) Xeon(R) CPU E3-1240 v3 @ 3.40GHz
Vendor ID GenuineIntel
Processorsnelheid (MHz) 3399.861
Totaal aan geheugen 32804000 kB
Vrij geheugen 1769752 kB
Totaal swap geheugen 16474108 kB
Vrij swap geheugen 15894644 kB
Systeem uptime 38 dagen, 19 uren en 31 minuten
Apache 2.2.27 Draait
DirectAdmin 1.47.0 Draait
Exim 4.76 Draait
MySQL 5.5.37 Draait
Named 9.8.2rc1 Draait
ProFTPd 1.3.4b Draait
sshd Draait
dovecot 2.2.12 Draait
Php 5.4.26 Geïnstalleerd

Is het een server probleem dan?
 
- Ariën  -
Beheerder

- Ariën -

24/02/2015 12:02:14
Quote Anchor link
Waar komt het bericht: "sorry, unexpected error. please try later." precies vandaan?
 
Bart V B

Bart V B

24/02/2015 12:02:58
Quote Anchor link
Laat eens wat relevante code zien.
Immers, je zegt dat de mail aankomt dus een server probleem is denk ik niet het eerste waar je naar moet kijken.
 
John D

John D

24/02/2015 12:03:16
Quote Anchor link
Misschien de php code hier even plaatsen? (alleen het relevante deel, geen honderden regels)??
 
Errol Uysal

Errol Uysal

24/02/2015 12:05:43
Quote Anchor link
zodra de formulier wordt ingevuld en wordt verzonden. Krijg ik een pop-up met de tekst "sorry unexpected error. please try later."
het bericht wordt opzicht wel verzonden en ontvangen, wel door mijn hosting wordt aangegeven dat het om spam kan gaan.
zie bericht:
Spam detection software, running on the system "s01.domeinwinkel.nl",
has identified this incoming email as possible spam. The original
message has been attached to this so you can view it or label
similar future email. If you have any questions, see
the administrator of that system for details.

Content preview: Name: Errol Email: [email protected] Message: Dit is een
test mail [...]

Content analysis details: (6.9 points, 5.0 required)

pts rule name description
---- ---------------------- --------------------------------------------------
0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider
(plate4900[at]gmail.com)
0.0 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail
domains are different
1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail)
0.9 SPF_HELO_SOFTFAIL SPF: HELO does not match SPF record (softfail)
0.0 HTML_MESSAGE BODY: HTML included in message
1.1 MIME_HTML_ONLY BODY: Message only has text/html MIME parts
0.6 HTML_MIME_NO_HTML_TAG HTML-only message, but there is no HTML tag
0.0 FREEMAIL_FORGED_FROMDOMAIN 2nd level domains in From and EnvelopeFrom
freemail headers are different
2.1 MALFORMED_FREEMAIL Bad headers on message from free email service
1.3 RDNS_NONE Delivered to internal network by a host with no rDNS

The original message was not completely plain text, and may be unsafe to
open with some email clients; in particular, it may contain a virus,
or confirm that your address can receive spam. If you wish to view
it, it may be safer to save it to a file and open it with an editor.
 
- Ariën  -
Beheerder

- Ariën -

24/02/2015 12:08:16
Quote Anchor link
Staat die melding 'sorry unexpected error. please try later.' in het script? En waar wordt die aangeroepen?
 
CNEPHP -

CNEPHP -

24/02/2015 12:10:57
Quote Anchor link
Stuur even het PHP script van hoe het contactformulier wordt verzonden.
 
Errol Uysal

Errol Uysal

24/02/2015 12:11:44
Quote Anchor link
dit is het script,wordt in regel 39 aangeroepen, maar opzicht is dit vreemd want heb dit script ook bij een ander website gebruikt waar het draait zonder problemen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?php

//Retrieve form data.
//GET - user submitted data using AJAX
//POST - in case user does not support javascript, we'll use POST instead

$name = ($_GET['name']) ? $_GET['name'] : $_POST['name'];
$email = ($_GET['email']) ?$_GET['email'] : $_POST['email'];
$comment = ($_GET['comment']) ?$_GET['comment'] : $_POST['comment'];

//flag to indicate which method it uses. If POST set it to 1

if ($_POST) $post=1;

//Simple server side validation for POST data, of course, you should validate the email
if (!$name) $errors[count($errors)] = 'Please enter your name.';
if (!$email) $errors[count($errors)] = 'Please enter your email.';
if (!$comment) $errors[count($errors)] = 'Please enter your message.';

//if the errors array is empty, send the mail
if (!$errors) {

    //recipient - replace your email here
    $to = '[email protected]';    
    //sender - from the form
    $from = $name . ' <' . $email . '>';
    
    //subject and the html message
    $subject = 'Message from ' . $name;    
    $message = 'Name: ' . $name . '<br/><br/>
               Email: '
. $email . '<br/><br/>        
               Message: '
. nl2br($comment) . '<br/>';

    //send the mail
    $result = sendmail($to, $subject, $message, $from);
    
    //if POST was used, display the message straight away
    if ($_POST) {
        if ($result) echo 'Thank you! We have received your message.';
        else echo 'Sorry, unexpected error. Please try again later';
        
    //else if GET was used, return the boolean value so that
    //ajax script can react accordingly
    //1 means success, 0 means failed

    } else {
        echo $result;    
    }


//if the errors array has values
} else {
    //display the errors message
    for ($i=0; $i<count($errors); $i++) echo $errors[$i] . '<br/>';
    echo '<a href="index.html">Back</a>';
    exit;
}



//Simple mail function with HTML header
function sendmail($to, $subject, $message, $from) {
    $headers = "MIME-Version: 1.0" . "\r\n";
    $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
    $headers .= 'From: ' . $from . "\r\n";
    
    $result = mail($to,$subject,$message,$headers);
    
    if ($result) return 1;
    else return 0;
}


?>
 
- Ariën  -
Beheerder

- Ariën -

24/02/2015 12:14:55
Quote Anchor link
je mailheaders in $headers kloppen niet.

Zie ook:
http://phpwiki.santhe.nl/index.php?title=De_juiste_mailheaders
 
CNEPHP -

CNEPHP -

24/02/2015 12:15:23
Quote Anchor link
Overbodige reactie


Excuses, had niet ver genoeg gekeken.
Gewijzigd op 24/02/2015 12:18:41 door CNEPHP -
 
Errol Uysal

Errol Uysal

24/02/2015 13:03:07
Quote Anchor link
enig idee waarom de popup steeds komt bij elke keer verzending van de email?
 
- Ariën  -
Beheerder

- Ariën -

24/02/2015 13:04:46
Quote Anchor link
De mail() functie weigert blijkbaar dienst. Het kán te maken hebben met spam-gevoeligheid.
Daarom is mijn advies om de headers even aan te passen, naar de manier waar ik linkte.
 
Errol Uysal

Errol Uysal

24/02/2015 13:19:47
Quote Anchor link
ik heb het net aangepast, en ik krijg het nu wel binnen zonder dat het wordt aangemerkt als spam.
maar de popup blijf ik krijgen bij het verzenden van de formulier...
 
CNEPHP -

CNEPHP -

24/02/2015 13:20:51
Quote Anchor link
Probeer dit eens:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
if ($_POST) {
        if ($result){
 echo 'Thank you! We have received your message.';
}
        else { echo 'Sorry, unexpected error. Please try again later';
}
        
    //else if GET was used, return the boolean value so that
    //ajax script can react accordingly
    //1 means success, 0 means failed
    } else {
        echo $result;    
    }



Heb je overigens geen name meegegeven aan de button om te verzenden? Dan zal $_POST - $_POST['submit'] moeten zijn. (of zeg ik nu iets heel geks)
Gewijzigd op 24/02/2015 13:23:24 door CNEPHP -
 
Errol Uysal

Errol Uysal

24/02/2015 13:31:17
Quote Anchor link
Het probleem blijft, ik heb de echo binnen de string maar alsnog blijft die popup geven....


Toevoeging op 24/02/2015 14:04:19:

Zodra ik $_POST - $_POST('submit') krijg ik een syntax error...


dit is de html:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<button type="button" class="close" data-dismiss="alert"></button>
                            Uw bericht is succesvol verzonden!
                        </div>
                    </div>
                    <form method="post" action="contact.php" id="contactform">
                        <div class="form">
                            <input class="col-md-6" type="text" name="name" placeholder="Naam *">
                            <input class="col-md-6" type="text" name="email" placeholder="E-mail *">
                            <textarea class="col-md-12" name="comment" rows="7" placeholder="Bericht, Suggesties *"></textarea>
                            <input type="submit" id="submit" class="btn" value="Verzenden">
                        </div>
                    </form>



Toevoeging op 24/02/2015 14:47:43:

beste ik heb in een JS. file de validatie proces gevonden:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
    //if submit button is clicked
    $('#submit').click(function () {        
        
        //Get the data from all the fields
        var name = $('input[name=name]');
        var email = $('input[name=email]');
        var regx = /^([a-z0-9_\-\.])+\@([a-z0-9_\-\.])+\.([a-z]{2,4})$/i;
        var comment = $('textarea[name=comment]');
        var returnError = false;
        
        //Simple validation to make sure user entered something
        //Add your own error checking here with JS, but also do some error checking with PHP.
        //If error found, add hightlight class to the text field
        if (name.val()=='') {
            name.addClass('error');
            returnError = true;
        } else name.removeClass('error');
        
        if (email.val()=='') {
            email.addClass('error');
            returnError = true;
        } else email.removeClass('error');        
        
        if(!regx.test(email.val())){
          email.addClass('error');
          returnError = true;
        } else email.removeClass('error');
        
        
        if (comment.val()=='') {
            comment.addClass('error');
            returnError = true;
        } else comment.removeClass('error');
        
        // Highlight all error fields, then quit.
        if(returnError == true){
            return false;    
        }
        
        //organize the data
        
        var data = 'name=' + name.val() + '&email=' + email.val() + '&comment='  + encodeURIComponent(comment.val());

        //disabled all the text fields
        $('.text').attr('disabled','true');
        
        //show the loading sign
        $('.loading').show();
        
        //start the ajax
        $.ajax({
            //this is the php file that processes the data and sends email
            url: "contact.php",    
            
            //GET method is used
            type: "GET",

            //pass the data            
            data: data,        
            
            //Do not cache the page
            cache: false,
            
            //success
            success: function (html) {                
                //if contact.php returned 1/true (send mail success)
                if (html==1) {
                
                    //show the success message
                    $('.done').fadeIn('slow');
                    
                    $(".form").find('input[type=text], textarea').val("");
                    
                //if contact.php returned 0/false (send mail failed)
                } else alert('Sorry, unexpected error. Please try again later.');                
            }        
        });
        
        //cancel the submit button default behaviours
        return false;
    });    
});    
  


wat mij opvalt moet het method niet post zijn ? en bij returned 0/ false de waarde niet 1 hebben?

- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 24/02/2015 17:24:38 door - Ariën -
 
CNEPHP -

CNEPHP -

24/02/2015 15:56:38
Quote Anchor link
Je moet ook deze [ ] haakjes gebruiken ipv ( ).
 
Errol Uysal

Errol Uysal

24/02/2015 16:06:20
Quote Anchor link
met haakjes krijg ik een foutmelding...syntax error..
 
Thomas van den Heuvel

Thomas van den Heuvel

24/02/2015 16:33:42
Quote Anchor link
Van wat ik vlug van bovenstaande code gezien heb krijg ik de volgende indruk: je code maakt een aantal rare spagaten:
- validatie zowel in JavaScript als PHP (dit is niet per definitie verkeerd)
- verwerking van zowel $_GET als $_POST

Ik zou dit alles simpeler maken. Tenzij je een heel toegankelijke site wilt maken mag je verwachten dat JavaScript ondersteund wordt (verwerking van $_GET kan eruit, tenzij dit een speciale reden heeft?).

En als je dan toch AJAX / jQuery gebruikt om je formulier te verwerken, controleer je data dan enkel aan de PHP-zijde en communiceer eventuele fouten terug via de callback-functie (controle van formulier in JavaScript kan eruit).

Daarnaast doe je iets aparts: je disabled je tekstvelden. Als je disabled velden verstuurt dan zijn deze volgens mij altijd leeg of worden zelfs niet verstuurd. Heb je de inhoud van $_POST wel eens op je scherm afgedrukt?

Ook zou ik geen .click() gebruiken, maar .submit(function(e) {}) en het normaal versturen van het formulier afvangen met e.preventDefault().
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.