Contactformulier door linken naar bedanktpagina of foutpagina

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Robbert B

Robbert B

21/06/2013 14:45:44
Quote Anchor link
Beste mensen,

Ik heb het volgende probleem, als het contactformulier is verstuurd wordt je doorgestuurd naar de bedankt pagina, dit gaat allemaal goed. Echter wil ik nu dat als ik in het contactformulier is aangevinkt dat je zelf een email wilt ontvangen. Dat er dan op de bedankt pagina automatisch een regel bij komt met er is nu een mail naar je verstuurd.

En dit geldt ook voor als je een fout maakt dan moet deze ook op die pagina met daarbij de tekst u heeft een fout gemaakt bla bla en daaronder dan de fout weergeven. Dus geen standaard tekst met alle fouten maar enkel de fout. Ik heb nu dit:
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
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<?php

////////////////////////////////////////////////
//////// robbert.uphero.com ////////////////////
//////// Door Robbert B ////////////////////////
////////////////////////////////////////////////



//Kijken of er op de submit button is gedrukt.

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


// Definiëren variablen
// Vaste variablen


$ontvanger = '[email protected]';         //Email van de ontvanger
$naar = 'Robbert B';                             //Naam
$onderwerp = "Ingevuld contactformulier";         //Onderwerp van de mail
$spam = 0;                                      //Anti Spam, in seconden


//Controle of de waarden zijn ingevuld!


$error = '';                                     // Begint met het aantal aanwezige errors
$aantal = 0;                                     // Telt het aantal errors

    if(isset($_COOKIE['mailform']))    
    {
$show = true;     
    echo 'Vanwege veiligheids redenen kunt u maar eens in de '.$spam.' seconden een e-mail versturen!';     
    }

    
    else {
    
    if(strlen($_POST['naam']) < 2)
    {
$error .= "- U heeft u naam niet ingevuld! <BR />";
        $aantal++;
    }

    if(strlen($_POST['email']) < 6 || preg_match('~^(?=[^a-z]*[a-z])(?=[^A-Z]*[A-Z])(?=\D*\d)(?=[A-Za-z0-9]*[^A-Za-z0-9])\S{6,}$~', $_POST['email']))
    {
$error .= "- U heeft geen geldig e-mailadres ingevuld! <BR />";
        $aantal++;
    }

    if(strlen($_POST['telefoon']) > 1 && !preg_match('/^[0-9]{10}$/', $_POST['telefoon']))
    {
$error .= "- Uw telefoonnummer bestaat niet uit 10 cijfers! <BR />";
        $aantal++;
    }

    if (strlen($_POST['tekst']) < 10 )
    {
$error .= "- U heeft geen geldige bericht ingevuld. <BR />";
        $aantal++;
    }

        if (!empty($error))                     // Als er fouten zijn
        {
        
        
        echo ($aantal == 1) ? 'De volgende fout is opgetreden: <BR />' : 'De volgende fouten zijn opgetreden <BR />';  //Controllen enkelfout of meervoud.
        echo "".$error."<BR />";
        }

        
        else { // Het mailen
                
        //Headers    

        $header = "Content-type: text/html; charset=iso-8859-1\r\n";
         $header .= "MIME-Version: 1.0\r\n";  
        $header .= "To: ".$naar." <".ontvanger.">\r\n";
        $header .= "From: ".$_POST['naam']." <".$_POST['email'].">\r\n";
        $header .= "Reply-To: ".$naar." <".$ontvanger.">\r\n";
  
        //Het daadwerkelijke bericht

        $bericht = '
        <html>
        <head>
          <title>Some title</title>
        </head>
        <body>
        
        <table style="margin:auto; width: 640px; background-color: #FBFBEF; border-color:black; border:1px; border-style:solid; border-spacing:0; border-collapse:collapse; padding:0;">

        <tr><td>
        <img src="http://robbert.uphero.com/erasmusbrug.jpg" alt="banner"; width: 640px; height:149px; />
        </td></tr>

        <tr style="min-height:30px; width:640px;"><td>
        <p style="margin-top: 5px; margin-left:5px;">Geachte '
.$_POST['naam'].', <br /></p>

        <p style="margin-left:5px;">Hierbij ontvangt u een kopie van de door u verstuurde e-mail:</p>

        <p style="margin-left:30px;">
        Afzender:             '
.$_POST['naam'].'<br />
        E-mailadres:         '
.$_POST['email'].'<br />
        Telefoonnummer:        '
.$_POST['telefoon'].'<br />
        Onderwerp:            '
.$_POST['subject'].'<br />
        Bericht:              '
.$_POST['tekst'].'<br /></p>
        
        <p style="margin-left: 5px;">
        Mocht u nog vragen hebben, dan kunt u gerust nogmaals contact opnemen.</p>

        <p style="margin-left: 5px;">
        Met vriendelijke groet,</p>

        <p style="margin-left: 5px; margin-bottom: 5px;">
        Robbert Bruin</p>


        </td></tr>
        <tr style="width:580px; margin-left: auto; margin-right: auto;"><td>
        </td></tr>
        </table>
        </body>
        </html>
        '
;

        //De mail
        
        mail($ontvanger, $onderwerp, $bericht, $header);
        
        
        //Bevestigingsbericht

        setcookie('mailform',1,time()+($spam*1));                         // cookie zetten tegen spammen
        $show = true; // foutmelding wordt weergeven
        
        header("location: index.html");
        //Als het copy is aangevinkt

        if(isset($_POST['mailmij'])) {
        mail($_POST['email'], "Kopie emailbericht", $bericht, $header);
        
        }
        }
        
    }
    }

    
?>
 
PHP hulp

PHP hulp

04/05/2024 11:45:21
 
Robbert B

Robbert B

27/06/2013 01:37:00
Quote Anchor link
Iemand?
 
Obelix Idefix

Obelix Idefix

27/06/2013 08:04:40
Quote Anchor link
Je geeft aan wat je wilt, toont een lap met code en dat is het.
Die code zelf geschreven?
Waar loop je vast?
Als het een vacature of scriptrequest is, staat het in de verkeerde rubriek.

Haal je e-mailadres uit je code. Anders zul je nog genoeg (ongewenste) reacties krijgen ;-)
Zou geen $_POST waarden gebruiken in het script zonder enige vorm van beveiliging (bv strip_tags).
 
Robbert B

Robbert B

27/06/2013 18:42:58
Quote Anchor link
Kan de begin post helaas niet meer aanpassen.

Code volledig zelf geschreven, waar ik vast loop is het volgende

Ik wil graag dat ik wordt doorgestuurd naar een pagina zoals de rest van mijn layout, zie http://www.robbert.uphero.com/bedankt.html

Zoiets wil ik ook creeëren voor als er een foutmelding is.

Alleen de foutmeldingen zijn wisselende waarde dus heb geen idee hoe ik dat er laat komen.
 
Obelix Idefix

Obelix Idefix

27/06/2013 20:01:31
Quote Anchor link
Waarom zou je mensen doorsturen naar een nieuwe pagina met foutmelding(en)?
Toon als er fouten zijn het formulier en geef daarbij aan wat er fout is.
De waarden die eerder zijn ingevuld kun je dan ook tonen, zodat niet het hele formulier opnieuw ingevuld hoeft te worden.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo "".$error."<BR />";

Wat is eigenlijk het nut van de "". aan het begin van die echo?

Kun jij eenvoudig zien bij welke { de laatste vier } horen?
Zorg voor een overzichtelijke uitlijning.
Gewijzigd op 27/06/2013 20:03:47 door Obelix Idefix
 



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.