Bevestiging versturen en gegevens doorsturen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Peter Sch

Peter Sch

10/02/2014 17:41:06
Quote Anchor link
Goedemiddag,

Ik heb een script die de gegevens van mijn formulier moet mailen en daarnaast een bevestiging naar de klant moet sturen dat de gegevens ontvangen zijn, ik gebruik hiervoor het volgende script maar krijg het niet werkend. Is er iemand die mij hier mee zou kunnen helpen?
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
<?php
if (isset($_POST['submit'])){
 
     {

 
$bericht = '
==========
Soort vervoer '
.$_POST['Soort'].'

Naam:         '
.$_POST['Naam'].'
Adres:        '
.$_POST['Adres'].'
Postcode:     '
.$_POST['Postcode'].'
Woonplaats:   '
.$_POST['Woonplaats'].'
Telefoon:     '
.$_POST['Telefoon'].'
Email:        '
.$_POST['Email'].'

Rit naar Schiphol:
Datum vertrek:      '
.$_POST['Vertrekdatum'].'
Inchecktijd:        '
.$_POST['inchecktijd'].'
Vertretijd vlucht:  '
.$_POST['Vertrektijdvlucht'].'
Vluchtnr vertrek:   '
.$_POST['Vluchtnrvertrek'].'
Bestemming:         '
.$_POST['Bestemming'].'
Ophaaladres:        '
.$_POST['ophaalplaats'].','.$_POST['ophaaladres'].'

Rit vanaf Schiphol
Datum:              '
.$_POST['datumop'].'
Vluchtnummer:       '
.$_POST['vluchtnummer'].'
Herkomst:           '
.$_POST['herkomst'].'
Aankomsttijd:       '
.$_POST['aankomsttijd'].'
GSM:                '
.$_POST['GSM'].'


Aantal personen     '
.$_POST['Aantal'].'

Opmerkingen:

'
.$_POST['S1'].'


Datum:       '
.date('d-m-Y / H:i', time()).'
IPAdres:     '
.$_SERVER['REMOTE_ADDR'].'
==========
'
.$_POST['bericht'];


$berichtklant = '
==========
Geachte heer / mevrouw '
.$_POST['Naam'].',

Wij hebben uw reservering ontvangen en zullen binnen 2 werkdagen een bevestiging sturen per email.

Met vriendelijke groeten,

Schiphol Taxi Groningen    
==========
'
.$_POST['berichtklant'];


$headers .= 'From: '.$_POST['Naam'].' <'.$_POST['Email'].'>' . "\r\n";
$headersklant .= 'From: Schiphol Taxi Groningen <[email protected]>' . "\r\n";
 
        @
mail('[email protected]', 'Schipholtaxi reservering', $bericht, $headers) or die('Vanwege een fout kan dit bericht niet verstuurd worden.');
        @
mail('.$_POST['Email'].', 'Reservering ontvangen', $berichtklant, $headerklant) or die ('Vanwege een fout kan dit bericht niet verstuurd worden.');
    
 
    }
 
}
else {
?>

<?php }
?>
Gewijzigd op 10/02/2014 18:41:00 door - Ariën -
 
PHP hulp

PHP hulp

22/12/2024 12:20:07
 
- Ariën  -
Beheerder

- Ariën -

10/02/2014 18:40:38
Quote Anchor link
Zo is het natuurlijk behoorlijk gissen wat er aan de hand is ;-)

Wat werkt er volgens jouw niet aan? Wat gebeurt er wel, en wat gebeurt er niet?
 
Peter Sch

Peter Sch

10/02/2014 18:55:46
Quote Anchor link
Er gebeurt nu niks, scherm blijft wit en er wordt niks verstuurd. In eerste instantie verstuurde ik alleen de gegevens van het formulier naar een vast mailadres maar ik wil ook een bevestiging naar de klant sturen dat de ontvangst van het formulier bevestigd.

de fout zal onder $berichtklant zitten, daarboven heb ik niets gewijzigd.
 
Erwin H

Erwin H

10/02/2014 19:19:37
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$headers
.= 'From: '.$_POST['Naam'].' <'.$_POST['Email'].'>' . "\r\n";
$headersklant .= 'From: Schiphol Taxi Groningen <[email protected]>' . "\r\n";
?>

Heb je deze twee variabelen wel al ergens gedefinieerd en een waarde gegeven? Anders kan je er natuurlijk niets aan plakken met .=

Verder is 'de fout zal onder $berichtklant zitten, daarboven heb ik niets gewijzigd' een betrekkelijk slecht uitgangspunt voor het debuggen. Zo moeilijk is het niet om te achterhalen waar je script tde mist ingaat door error reporting aan te zetten en, als dat geen foutmeldingen oplevert, gewoon een paar keer een echo te plaatsen. Zie je met een enkele run al waar je script nog wel werkt en waar niet meer. Dit is gewoon de basis van het debuggen die ook elke beginner gewoon moet kunnen bedenken.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

10/02/2014 19:21:30
Quote Anchor link
Kijk eens naar de kleuren op regel 63
 
Erwin van Hoof

Erwin van Hoof

11/02/2014 01:05:55
Quote Anchor link
Hoi Peter,

Vier dingen vallen me op :

Haal op regel 4 de { weg en op regel 66 de } (ctrl+c ctrl+v foutje)
Regel 59 en 60 maak van de .= eens een =
Regel 63 veranderen in @mail($_POST['Email'], 'Reservering ontvangen', $berichtklant, $headerklant) or die ('Vanwege een fout kan dit bericht niet verstuurd worden.');
Tussen regel 69 en 70 zet daar eens tekst bijv. Submit is not set !!, indien deze tekst verschijnt komt de post var submit niet aan bij het php script en dien je je formulier nog even na te kijken.

Groet,

Erwin
SiteOn
Gewijzigd op 11/02/2014 01:10:49 door Erwin van Hoof
 
Peter Sch

Peter Sch

12/02/2014 11:48:31
Quote Anchor link
Ik heb alle raad opgevolgd en het script aangepast.
Helaas volgt er nog altijd een geheel lege pagina na het verzenden van het formulier.
Het script is nu als volgt:

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
<?php
if (isset($_POST['submit'])){
 
$bericht = '
==========
Soort vervoer '
.$_POST['Soort'].'

Naam:         '
.$_POST['Naam'].'
Adres:        '
.$_POST['Adres'].'
Postcode:     '
.$_POST['Postcode'].'
Woonplaats:   '
.$_POST['Woonplaats'].'
Telefoon:     '
.$_POST['Telefoon'].'
Email:        '
.$_POST['Email'].'

Rit naar Schiphol:
Datum vertrek:      '
.$_POST['Vertrekdatum'].'
Inchecktijd:        '
.$_POST['inchecktijd'].'
Vertretijd vlucht:  '
.$_POST['Vertrektijdvlucht'].'
Vluchtnr vertrek:   '
.$_POST['Vluchtnrvertrek'].'
Bestemming:         '
.$_POST['Bestemming'].'
Ophaaladres:        '
.$_POST['ophaalplaats'].','.$_POST['ophaaladres'].'

Rit vanaf Schiphol
Datum:              '
.$_POST['datumop'].'
Vluchtnummer:       '
.$_POST['vluchtnummer'].'
Herkomst:           '
.$_POST['herkomst'].'
Aankomsttijd:       '
.$_POST['aankomsttijd'].'
GSM:                '
.$_POST['GSM'].'


Aantal personen     '
.$_POST['Aantal'].'

Opmerkingen:

'
.$_POST['S1'].'


Datum:       '
.date('d-m-Y / H:i', time()).'
IPAdres:     '
.$_SERVER['REMOTE_ADDR'].'
==========
'
.$_POST['bericht'];

echo "na bericht":

$berichtklant = '
==========
Geachte heer / mevrouw '
.$_POST['Naam'].',

Wij hebben uw reservering ontvangen en zullen binnen 2 werkdagen een bevestiging sturen per email.

Met vriendelijke groeten,

Schiphol Taxi Groningen    
==========
'
.$_POST['berichtklant'];

echt "na bericht klant";

$headers = 'From: '.$_POST['Naam'].' <'.$_POST['Email'].'>' . "\r\n";
$headersklant = 'From: Schiphol Taxi Groningen <[email protected]>' . "\r\n";
$mailadresklant = ''.$_POST['Email'].'';

echo "na headers";
 
        @
mail('[email protected]', 'Schipholtaxi reservering', $bericht, $headers) or die('Vanwege een fout kan dit bericht niet verstuurd worden.');
        @
mail('$mailadresklant', 'Reservering ontvangen', $berichtklant, $headerklant) or die ('Vanwege een fout kan dit bericht niet verstuurd worden.');
        
echo "na mailopdracht";
      
 
}
else {
?>

Submit is not set !!

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<?php }
?>
Gewijzigd op 12/02/2014 12:19:09 door Peter Sch
 
- SanThe -

- SanThe -

12/02/2014 12:03:43
Quote Anchor link
Kijk eens naar regel 43, 57, 61, 63 en 68.
 
Peter Sch

Peter Sch

12/02/2014 12:20:14
Quote Anchor link
- SanThe - op 12/02/2014 12:03:43:
Kijk eens naar regel 43, 57, 61, 63 en 68.

Deze fouten zijn nu weg volgens mij maar nog steeds een lege pagina helaas.
Gewijzigd op 12/02/2014 12:20:30 door Peter Sch
 
- SanThe -

- SanThe -

12/02/2014 12:39:59
Quote Anchor link
Zet error reporting aan en je ziet de fouten.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

// rest
?>

Regel 43 en 57.
Gewijzigd op 12/02/2014 12:47:32 door - SanThe -
 
Michael -

Michael -

12/02/2014 13:14:07
Quote Anchor link
je gebruikt echt i.p.v. echo, : i.p.v. ;, @mail i.p.v. mail, je script is kwetsbaar, etc. etc.
Kijk je script even goed na wat betreft typ fouten.

edit: en headerklant en headersklant...

Toevoeging op 12/02/2014 14:22:11:

Peter, ik heb wat dingen aan je script aangepast, typfouten eruit, veiligheid erin, etc.

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
84
85
86
87
88
89
90
91
92
93
94
95
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

if ($_SERVER['REQUEST_METHOD'] == 'POST'){

    if(isset($_POST['Naam'],$_POST['Email']) && strlen($_POST['Naam']) > 1 && filter_var($_POST['Email'], FILTER_VALIDATE_EMAIL)) {
 
        $bericht = '=========='.PHP_EOL
        .'Soort vervoer '.(isset($_POST['Soort']) ? htmlentities($_POST['Soort']) : '').PHP_EOL
        .'Naam:         '.(isset($_POST['Naam']) ? htmlentities($_POST['Naam']) : '').PHP_EOL
        .'Adres:        '.(isset($_POST['Adres']) ? htmlentities($_POST['Adres']) : '').PHP_EOL
        .'Postcode:     '.(isset($_POST['Postcode']) ? htmlentities($_POST['Postcode']) : '').PHP_EOL
        .'Woonplaats:   '.(isset($_POST['Woonplaats']) ? htmlentities($_POST['Woonplaats']) : '').PHP_EOL
        .'Telefoon:     '.(isset($_POST['Telefoon']) ? htmlentities($_POST['Telefoon']) : '').PHP_EOL
        .'Email:        '.(isset($_POST['Email']) ? htmlentities($_POST['Email']) : '').PHP_EOL
        .''.PHP_EOL
        .'Rit naar Schiphol:'.PHP_EOL
        .'Datum vertrek:      '.(isset($_POST['Vertrekdatum']) ? htmlentities($_POST['Vertrekdatum']) : '').PHP_EOL
        .'Inchecktijd:        '.(isset($_POST['inchecktijd']) ? htmlentities($_POST['inchecktijd']) : '').PHP_EOL
        .'Vertretijd vlucht:  '.(isset($_POST['Vertrektijdvlucht']) ? htmlentities($_POST['Vertrektijdvlucht']) : '').PHP_EOL
        .'Vluchtnr vertrek:   '.(isset($_POST['Vluchtnrvertrek']) ? htmlentities($_POST['Vluchtnrvertrek']) : '').PHP_EOL
        .'Bestemming:         '.(isset($_POST['Bestemming']) ? htmlentities($_POST['Bestemming']) : '').PHP_EOL
        .'Ophaaladres:        '.(isset($_POST['ophaalplaats']) ? htmlentities($_POST['ophaalplaats']) : '').','.(isset($_POST['ophaaladres']) ? htmlentities($_POST['ophaaladres']) : '').PHP_EOL
        .''.PHP_EOL
        .'Rit vanaf Schiphol'.PHP_EOL
        .'Datum:              '.(isset($_POST['datumop']) ? htmlentities($_POST['datumop']) : '').PHP_EOL
        .'Vluchtnummer:       '.(isset($_POST['vluchtnummer']) ? htmlentities($_POST['vluchtnummer']) : '').PHP_EOL
        .'Herkomst:           '.(isset($_POST['herkomst']) ? htmlentities($_POST['herkomst']) : '').PHP_EOL
        .'Aankomsttijd:       '.(isset($_POST['aankomsttijd']) ? htmlentities($_POST['aankomsttijd']) : '').PHP_EOL
        .'GSM:                '.(isset($_POST['GSM']) ? htmlentities($_POST['GSM']) : '').PHP_EOL
        .''.PHP_EOL
        .'Aantal personen     '.(isset($_POST['Aantal']) ? htmlentities($_POST['Aantal']) : '').PHP_EOL
        .''.PHP_EOL
        .'Opmerkingen:'.PHP_EOL
        .(isset($_POST['S1']) ? htmlentities(nl2br($_POST['S1'])) : '').PHP_EOL
        .''.PHP_EOL
        .'Datum:       '.date('d-m-Y / H:i', time()).PHP_EOL
        .'IPAdres:     '.$_SERVER['REMOTE_ADDR'].PHP_EOL
        .'=========='.PHP_EOL
        .(isset($_POST['bericht']) ? htmlentities(nl2br($_POST['bericht'])) : '').PHP_EOL;

        //echo 'na bericht';

        $berichtklant = '=========='.PHP_EOL
        .'Geachte heer / mevrouw '.(isset($_POST['Naam']) ? htmlentities($_POST['Naam']) : '').','.PHP_EOL
        .''.PHP_EOL
        .'Wij hebben uw reservering ontvangen en zullen binnen 2 werkdagen een bevestiging sturen per email.'.PHP_EOL
        .''.PHP_EOL
        .'Met vriendelijke groeten,'.PHP_EOL
        .''.PHP_EOL
        .'Schiphol Taxi Groningen'.PHP_EOL
        .'=========='.PHP_EOL
        .(isset($_POST['berichtklant']) ? htmlentities(nl2br($_POST['berichtklant'])) : '').PHP_EOL;

        //echo "na bericht klant";

        $headers  = 'MIME-Version: 1.0' . "\r\n" .
            'Content-type: text/plain; charset=UTF-8' . "\r\n" .
            'X-Mailer: PHP/' . phpversion() . "\r\n";
            
        $headersReservering = $headers . 'From: ' . htmlentities($_POST['Naam']) . ' <' . htmlentities($_POST['Email']) . '>' . "\r\n" .
                                        'Reply-To: ' . htmlentities($_POST['Email']);

        $headersKlant = $headers . 'From: Schiphol Taxi Groningen <[email protected]>' . "\r\n" .
                                    'Reply-To: [email protected]';

        //echo "na headers";
        
        if(mail('[email protected]', 'Schipholtaxi reservering', $bericht, $headersReservering)) {
            echo '<p>Reservering verzonden</p>';
        }
else {
            echo '<p>Vanwege een fout kan dit bericht niet verstuurd worden.</p>';
        }

        
        if(mail(htmlentities($_POST['Email']), 'Reservering ontvangen', $berichtklant, $headersKlant)) {
            echo '<p>Bevestiging verzonden</p>';
        }
else {
            echo '<p>Vanwege een fout kan dit bericht niet verstuurd worden.</p>';
        }
    }
else {
        echo '<p>Niet alle velden zijn (correct) ingevuld</p>';
    }

//echo "na mailopdracht";
}
?>

<form method="POST">
<label for="naam">Naam</label>
<input type="text" name="Naam" id="naam" /><br />
<label for="email">E-mailadres</label>
<input type="text" name="Email" id="email" /><br />
<label for="bericht">Bericht</label>
<textarea name="bericht" id="bericht"></textarea><br />
<button>Send</button>
</form>


Zelf nog controle van alle velden toevoegen.
Gewijzigd op 12/02/2014 14:24:02 door Michael -
 



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.