email/contact form issues

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

MANGANIX MANGANIX

MANGANIX MANGANIX

05/05/2013 03:12:51
Quote Anchor link
Hallo,

hopelijk post ik in de juiste topic ...

Ik heb een email/contact form gemaakt, die op het eerste zicht goed lijkt te werken:

_ error/opmerking verschijnt ingeval nodige velden niet ingevuld zijn = OK
_ submit button doet het; bericht lijkt verzonden = OK
_ na het submitten verchijnt de 'thank you' / confirmation pagina = OK
_ na verzending bericht, wordt de bezoeker ge-redirect naar aangeduide pagina = OK

Probleem: de verzonden berichten komen nooit aan in mijn mailbox; hoewel ik ook geen enkele error krijg?

Kunnen jullie eens checken/testen aub:
http://www.gamanga.com/contact.php

hieronder de code, alvast bedankt voor jullie hulp en adviezen!

Quote:
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
<?php
// Set email variables
$email_to = '[email protected]';
$email_subject = 'Form submission';

// Set required fields
$required_fields = array('fullname','email','comment');

// set error messages
$error_messages = array(
    'fullname' => 'Please enter a Name to proceed.',
    'email' => 'Please enter a valid Email Address to continue.',
    'comment' => 'Please enter your Message to continue.'
);

// Set form status
$form_complete = FALSE;

// configure validation array
$validation = array();

// check form submittal
if(!empty($_POST)) {
    // Sanitise POST array
    foreach($_POST as $key => $value) $_POST[$key] = remove_email_injection(trim($value));
    
    // Loop into required fields and make sure they match our needs
    foreach($required_fields as $field) {        
        // the field has been submitted?
        if(!array_key_exists($field, $_POST)) array_push($validation, $field);
        
        // check there is information in the field?
        if($_POST[$field] == '') array_push($validation, $field);
        
        // validate the email address supplied
        if($field == 'email') if(!validate_email_address($_POST[$field])) array_push($validation, $field);
    }

    
    // basic validation result
    if(count($validation) == 0) {
        // Prepare our content string
        $email_content = 'New Website Comment: ' . "\n\n";
        
        // simple email content
        foreach($_POST as $key => $value) {
            if($key != 'submit') $email_content .= $key . ': ' . $value . "\n";
        }

        
        // if validation passed ok then send the email
        mail($email_to, $email_subject, $email_content);
        
        // Update form switch
        $form_complete = TRUE;
    }
}

function
validate_email_address($email = FALSE) {
    return (preg_match('/^[^@\s]+@([-a-z0-9]+\.)+[a-z]{2,}$/i', $email))? TRUE : FALSE;
}

function
remove_email_injection($field = FALSE) {
   return (str_ireplace(array("\r", "\n", "%0a", "%0d", "Content-Type:", "bcc:","to:","cc:"), '', $field));
}


?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/mootools/1.3.0/mootools-yui-compressed.js"></script>
    <script type="text/javascript" src="contact/validation/validation.js"></script>
    
    <script type="text/javascript">
var nameError = '<?php echo $error_messages['fullname']; ?>';
        var emailError = '<?php echo $error_messages['email']; ?>';
        var commentError = '<?php echo $error_messages['comment']; ?>';
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
    </script>


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
    <?php if($form_complete === FALSE): ?>
    <form action="contact.php" method="post" id="comments_form">
    
    <div class="row">
            <div class="label">Your name :</div> <!-- end .label -->
            <div class="input">
            <input type="text" id="fullname" class="detail" name="fullname" value="<?php echo isset($_POST['fullname'])? $_POST['fullname'] : ''; ?>" /><?php if(in_array('fullname', $validation)): ?><span class="error"><?php echo $error_messages['fullname']; ?></span><?php endif; ?>
            </div><!-- end .input -->
            <div class="context">e.g. John Smith or Jane Doe</div><!-- end .context -->
    </div> <!-- end .row -->

    <div class="row">
            <div class="label">Your email adress :</div> <!-- end .label -->
            <div class="input">
            <input type="text" id="email" class="detail" name="email" value="

<?php echo isset($_POST['email'])? $_POST['email'] : ''; ?>" /><?php if(in_array('email', $validation)): ?><span class="error"><?php echo $error_messages['email']; ?></span><?php endif; ?>
            </div><!-- end .input -->
            <div class="context">We will not share your email with anyone or spam you with messages either</div><!-- end .context -->
    </div> <!-- end .row -->

    <div class="row">
            <div class="label">Your message :</div> <!-- end .label -->
            <div class="input">
            <textarea id="comment" name="comment" class="mess"><?php echo isset($_POST['comment'])? $_POST['comment'] : ''; ?></textarea><?php if(in_array('comment', $validation)): ?><span class="error"><?php echo $error_messages['comment']; ?></span><?php endif; ?>
            </div><!-- end .input -->
    </div> <!-- end .row -->

        <div class="submit">
            <input type="submit" id="submit" name="submit" value="Send Message" />
        </div> <!-- end .submit -->
        </form>
        
        <?php else: ?>
<p style="margin-left:10px; margin-top:30px; margin-bottom:0px; font-size:18px;">Thank you for your message. We appreciate your feedback!</p>
<script type="text/javascript">
setTimeout('ourRedirect()', 4000)
function ourRedirect() {
    location.href='Index.html'
}
</script>
<?php endif; ?>
Gewijzigd op 05/05/2013 19:13:42 door MANGANIX MANGANIX
 
PHP hulp

PHP hulp

28/03/2024 17:19:44
 
Frank Nietbelangrijk

Frank Nietbelangrijk

05/05/2013 09:10:28
Quote Anchor link
heb je in je spam gekeken?
probeer anders eerst even onderstaand testje.
welke provider heb je?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$to
      = '[email protected]'; // de ontvanger
$subject = 'the subject';
$message = 'hello';
$headers = 'From: [email protected]' . "\r\n" . // email adres met je domeinnaam
    'Reply-To: [email protected]'; // je eigen emailadres

if(mail($to, $subject, $message, $headers))
    echo 'email is verzonden.';
else
    echo 'FOUT: email is NIET verzonden.';
?>
Gewijzigd op 05/05/2013 09:12:14 door Frank Nietbelangrijk
 
- Ariën  -
Beheerder

- Ariën -

05/05/2013 12:55:00
Quote Anchor link
Manganix, zou je je code even kunnen beperken tot relevante code, en deze tussen [code] en [/code]-tags plaatsen, door je bericht aan te passen?
Gewijzigd op 05/05/2013 12:55:19 door - Ariën -
 
MANGANIX MANGANIX

MANGANIX MANGANIX

05/05/2013 19:29:32
Quote Anchor link
@Frank Nietbelangrijk

bedankt voor de reactie!

Heb de test gedaan en krijg "email is verzonden", als ik de test in DW/testomgeving doe.
Krijg "FOUT: email is NIET verzonden" als ik de pagina online upload en daar de test uitvoer.

Maar in geen van beide gevallen valt er iets binnen in de opgegeven mailbox.

Ziehier pagina met de test:
http://gamanga.com/contact.php

PS: de vermelding "FOUT: email is NIET verzonden" verschijnt meteen wanneer je de pagina oproept; dus niet pas nadat ik een bericht 'submit' .. is dat de bedoeling of paste ik de test verkeerd in?


Quote:
welke provider heb je?

mijn provider is telenet
de pagina is gehost bij 'awardspace'

Ik heb nog andere pagina's met comment sections (php), maar die werken perfect?
Gewijzigd op 05/05/2013 19:30:22 door MANGANIX MANGANIX
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

05/05/2013 19:57:52
 
MANGANIX MANGANIX

MANGANIX MANGANIX

05/05/2013 21:30:51
Quote Anchor link
Ger van Steenderen op 05/05/2013 19:57:52:


Hey!

bedankt voor je reactie.

heb deze test uitgevoerd en het werkt wel degelijk; de mails komen aan in mijn aangegeven mailbox.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?
$from
= From: You <you@yourdomain.com>;
$to = you@yourdomain.com;
$subject = Hi! ;
$body = TEST;

if(mail($to,$subject,$body,$from))
echo MAIL  OK;
else
echo MAIL FAILED;
?>


Ik heb dus in mijn mail manager een email-account aangemaakt zoals aangegeven in de link die je stuurde:

Quote:
This script is sending email (to [email protected]) and printing “MAIL – OK” on the page.

Please note that the ‘from’ header should be an existing email account inside your Email Manager of your hosting Control Panel.


De mails die vanop de contactpage worden verstuurd komen aan in de mailbox, maar telkens als een FW vanuit mijn gecreëerde mailbox binnen mijn account awardspace:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$from = From: You <[email protected]>;


Zodra ik de mail binnen mijn account bij awardspace verwijder, dan krijg ik terug hetzelfde probleem en komen de mails niet meer aan.

Dus, het is vereist een email account te creëren bij mijn host awardspace die "FROM" moet dienen en gaan alle berichten die verstuurd worden vanop de contactpage als een FW van die email account binnenkomen? Correct?

... ik lijk het wel ingewikkelder te maken dan het is, maar hopelijk ben ik duidelijk ... ;-)

Alvast bedankt.
Gewijzigd op 05/05/2013 21:39:35 door MANGANIX MANGANIX
 
Frank Nietbelangrijk

Frank Nietbelangrijk

06/05/2013 00:38:02
Quote Anchor link
ja het zal wel correct zijn dat je een bestaand email adres moet gebruiken. dit is allemaal om spam tegen te gaan
 



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.