PHP Contact Formulier doorverwijzen naar bevestigingspagina

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

09/04/2015 09:59:13
Quote Anchor link
Beste lezers,

ik heb geprobeerd om een contact formulier te maken.
Dat is gelukt alleen zal ik graag willen dat het formulier naar invulling doorverwijst naar een bevestigings pagina zodat mensen kunnen zien dat het formulier verzonden is.

Dit is de php code:

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
<?php
// the E-Mail address that you want to recieve the message on.
$to_email = '[email protected]';
if (isset($_POST)) {
    // recieve the form variables and secure them
    $name = trim(strip_tags(addslashes($_POST['name'])));
    $email = trim(strip_tags(addslashes($_POST['email'])));
    if (!empty($_POST['subject'])) {
        $subject = trim(strip_tags(addslashes($_POST['subject'])));
    }
else {
        $subject = 'Message From Contact Form';
    }

    $message = trim(strip_tags(addslashes($_POST['message'])));
    // validate the form
    if (empty($name)) {
        echo 0;
    }
elseif (empty($email)) {
        echo 0;
    }
elseif (empty($message)) {
        echo 0;
    }
else {
        // the message headers
        $headers = "From: " . strip_tags($email) . "\r\n";
        $headers .= "Reply-To: ". strip_tags($email) . "\r\n";
        $headers .= "MIME-Version: 1.0\r\n";
        $headers .= "Content-Type: text/html; charset=UTF-8\r\n";
        // submitting the message using PHP mail() function
        $send = mail($to_email, $subject, $message, $headers);
            if ($send) {
                echo 1;
            }
else {
                echo 0;
            }
    }
}

?>



En hier eventueel nog de html code:

<form id="ajax_contact" method="post" action="">
<div id="response" class="grid-100 mobile-grid-100"></div>
<div class="grid-100 mobile-grid-100 grid-parent form-row">
<div class="grid-30 mobile-grid-100 form-label">Naam <span>*</span></div>
<div class="grid-70 mobile-grid-100 form-input"><input type="text" id="name" name="name" class="grid-100 mobile-grid-100" /></div>
</div>
<div class="grid-100 mobile-grid-100 grid-parent form-row">
<div class="grid-30 mobile-grid-100 form-label">E-Mail <span>*</span></div>
<div class="grid-70 mobile-grid-100 form-input"><input type="text" id="email" name="email" class="grid-100 mobile-grid-100" /></div>
</div>
<div class="grid-100 mobile-grid-100 grid-parent form-row">
<div class="grid-30 mobile-grid-100 form-label">Onderwerp</div>
<div class="grid-70 mobile-grid-100 form-input"><input type="text" id="subject" name="subject" class="grid-100 mobile-grid-100" /></div>
</div>
<div class="grid-100 mobile-grid-100 grid-parent form-row">
<div class="grid-30 mobile-grid-100 form-label">Bericht <span>*</span></div>
<div class="grid-70 mobile-grid-100 form-input"><textarea id="message" name="message" rows="5" class="grid-100 mobile-grid-100"></textarea></div>
</div>
<div class="grid-100 mobile-grid-100 grid-parent">
<div class="grid-100 mobile-grid-100 form-button"><input type="submit" id="contact_button" name="submit" class="grid-30 mobile-grid-100" value="Send Message" /></div>
</div>
</form>
 
PHP hulp

PHP hulp

17/11/2024 23:33:37
 
Ramon van Dongen

Ramon van Dongen

09/04/2015 10:04:06
Quote Anchor link
Je bent er bijna!

Je hebt namelijk al aangegeven wat het script moet doen als het wel gelukt is (echo 1;) en wat als het niet gelukt is (echo 0;).

In de veronderstelling dat het php gedeelte helemaal boven de eerste html (of andere output naar de browser) staat, kun je dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if($send){
echo 1;
}

?>


vervangen door:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if($send){
header('Location: bevestigingpagina.php'); // bijvoorbeeld (of andere pagina)
exit;
}

?>


Overal waar je nu hebt staan echo 0;, zou ik een array met fouten vullen.
Die kun je dan netjes in je html laten zien (als de array bestaat en gevuld is met fouten).
 

09/04/2015 10:26:08
Quote Anchor link
Bedankt! Alleen heb ik nu:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if($send){
header('Location: index.html');
exit;
}

?>


kan je met deze code niet doorverwijzen naar een html bestand?
Aangezien hij nu niet werkt
 
Ramon van Dongen

Ramon van Dongen

09/04/2015 10:40:29
Quote Anchor link
Naar html bestand zou in principe ook gewoon moeten werken. Wat doet hij nu wel en wat doet hij nu niet dan?

Staat je error report aan?
Zo nee, zet dit dan even (tijdelijk) helemaal bovenaan je pagina:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL | E_STRICT);
?>
 
- wes  -

- wes -

09/04/2015 10:43:51
Quote Anchor link
Of niet tijdelijk, gewoon altijd! Leer je alleen maar beter van coden!
 

09/04/2015 10:50:36
Quote Anchor link
Bij de oude code werd het berichtje gewoon verstuurd en nadat hij verstuurd werd ging de tekst in het contactformulier
weg.
En nu word het berichtje ook verstuurd alleen blijft alle tekst staan dus bij elke klik op de verzend knop word opnieuw
het zelfde berichtje verstuurd.
 
Ramon van Dongen

Ramon van Dongen

09/04/2015 11:07:07
Quote Anchor link
- wes - op 09/04/2015 10:43:51:
Of niet tijdelijk, gewoon altijd! Leer je alleen maar beter van coden!


Als de site echt live gaat, vind ik persoonlijk dat bezoekers van de site weinig aan je php foutmeldingen hebben. Met tijdelijk bedoel ik dus meer in de ontwikkelingsfase.



Toevoeging op 09/04/2015 11:08:02:

Pascal Rotterdam op 09/04/2015 10:50:36:
Bij de oude code werd het berichtje gewoon verstuurd en nadat hij verstuurd werd ging de tekst in het contactformulier
weg.
En nu word het berichtje ook verstuurd alleen blijft alle tekst staan dus bij elke klik op de verzend knop word opnieuw
het zelfde berichtje verstuurd.


Post eens even je hele script dan hoe je hem nu hebt aub.
 

09/04/2015 11:09:49
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL | E_STRICT);
?>

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
<?php
// the E-Mail address that you want to recieve the message on.
$to_email = '[email protected]';
if (isset($_POST)) {
    // recieve the form variables and secure them
    $name = trim(strip_tags(addslashes($_POST['name'])));
    $email = trim(strip_tags(addslashes($_POST['email'])));
    if (!empty($_POST['subject'])) {
        $subject = trim(strip_tags(addslashes($_POST['subject'])));
    }
else {
        $subject = 'Message From Contact Form';
    }

    $message = trim(strip_tags(addslashes($_POST['message'])));
    // validate the form
    if (empty($name)) {
        echo 0;
    }
elseif (empty($email)) {
        echo 0;
    }
elseif (empty($message)) {
        echo 0;
    }
else {
        // the message headers
        $headers = "From: " . strip_tags($email) . "\r\n";
        $headers .= "Reply-To: ". strip_tags($email) . "\r\n";
        $headers .= "MIME-Version: 1.0\r\n";
        $headers .= "Content-Type: text/html; charset=UTF-8\r\n";
        // submitting the message using PHP mail() function
        $send = mail($to_email, $subject, $message, $headers);
            if ($send) {
                header('Location: index.html');
                exit;
            }
else {
                echo 0;
            }
    }
}

?>


Toevoeging op 09/04/2015 11:15:53:
Gewijzigd op 09/04/2015 11:17:54 door
 
- SanThe -

- SanThe -

09/04/2015 15:20:43
 



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.