Contactformulier werk niet :(

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Gor Grigorian

Gor Grigorian

11/12/2012 20:36:05
Quote Anchor link
Hallo iedereen,

Momenteel ben ik bezig met een website afmaken voor mijzelf, maar ik krijg bij de contactpagina de contactformulier niet werkend. Ik ben zelf niet zo goed met html en php dat ik het helemaal zelf heb geschreven of iets dergelijks, maar ik snap de basis beginselen wel.

bij contact.html heb ik het volgende in de body staan:
<form action="FormulierAfhandeling.php" method="post">

<p>Naam: &nbsp;<input name="Naam" type="text" size="30" maxlength="30"></p>
<p>Email: &nbsp; <input name="EmailAdres" type="text" size="30" maxlength="35"></p>
<p>Bericht: <textarea name="BeRicht" style="width: 300px; height: 200px;" maxlength="300"></textarea></p>
<p><input name="Submit" type="submit"></p>
</form>

en bij FormulierAfhandeling.php heb ik het volgende staan:
<body>
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
<?php
$emailadres
= '[email protected]';
$onderwerp = 'anargo.nl - Contactforumulier';
$afzendernaam = 'naam';
 
$bericht_bij_verstuurd = 'Je bericht is succesvol verstuurd';
 
if($_POST['verstuur']){
    if(empty($_POST['naam'])){
        echo "Je bent vergeten je naam in te vullen";
        $terug = true;
    }

    elseif(empty($_POST['mailadres'])){
        echo "Je bent vergeten je mailadres in te vullen";
        $terug = true;
    }

    elseif(empty($_POST['bericht'])){
        echo "Je bent vergeten een bericht in te vullen";
        $terug = true;
    }

    if($terug){
        echo "<br><br><a href='javascript:history.go(-1)'>Terug</a>";
    }

    else {
        $header = "From: ".$afzendernaam." <".$emailadres.">\r\n";
        $header .= "Reply-To: ".$_POST['mailadres']."\r\n";
        $header .= "MIME-Version: 1.0\r\n";
        $header .= "Content-Type: text/html; charset=iso-8859-1\r\n";
        $header .= "X-Priority: 3\r\n";
        $header .= "X-MSMail-Priority: Normal\r\n";
        $header .= "X-Mailer: PHP / ".phpversion()."\r\n";
        
        $post_bericht = nl2br($_POST['bericht']);
        
        $bericht = "Het contactforumulier is ingevuld met het volgende bericht:<br /><br />
                                <table>
                                  <tr>
                                      <td width=150>
                                          <b>Naam:</b>
                                        </td>
                                        
                                        <td>
                                          "
.$_POST['naam']."
                                        </td>
                                    </tr>
                                    
                                    <tr>
                                        <td>
                                            <b>Mailadres:</b>
                                        </td>
                                        
                                        <td>
                                            <a href='mailto:"
.$_POST['mailadres']."'>".$_POST['mailadres']."</a>
                                        </td>
                                    </tr>
                                    
                                    <tr>
                                        <td>
                                            <b>Website url:</b>
                                        </td>
                                        
                                        <td>
                                            <a target='_blank' href='"
.$_POST['website']."'>".$_POST['website']."</a>
                                        </td>
                                    </tr>
                                    
                                    <tr>
                                        <td valign=top>
                                            <b>Bericht:</b>
                                        </td>
                                        
                                        <td>
                                            "
.$post_bericht."
                                        </td>
                                    </tr>
                                </table>"
;
        $stuur = @mail($emailadres,$onderwerp,$bericht,$header);
        if($stuur){
          echo $bericht_bij_verstuurd;
        }

        else {
          echo "Je bericht kon niet worden verzonden";
        }
    }
}

else {
?>

</body>



Als je klikt op verstuur nadat je het ingelud hebt, dan verstuurt het niks en je krijgt ook geen foutmelding te zien.
Bij voorbaat dank aan diegene die willen helpen!!!!

Groeten Gor
Gewijzigd op 11/12/2012 20:43:10 door Gor Grigorian
 
PHP hulp

PHP hulp

26/04/2024 00:19:45
 
Moose -

Moose -

11/12/2012 20:42:35
Quote Anchor link
Kun je van regel 8

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if ($_SERVER['REQUEST_METHOD'] == 'POST') {


maken en het dan opnieuw proberen

Wat je nu doet is kijken of $_POST['verstuur'] een waarde heeft, maar die variable bestaat niet dus zul je ook nooit in je code daaronder komen. Een andere fix is om $_POST['Submit'] te gebruiken (zo heet je submit knop) ipv $_POST['verstuur']
Gewijzigd op 11/12/2012 20:44:42 door Moose -
 
Gor Grigorian

Gor Grigorian

11/12/2012 20:49:50
Quote Anchor link
Beste Not Moose,

Er verandert helemaal niks, bij het klikken van de knop gebeurt er niks.

Ik gebruik dreamweaver om de bestanden aan te passen en ik heb nu een foutmelding erbij:
"there is a syntax error on line 97"

het gekke is dat op regel 97 bij mij </body> staat en verder niks.....

het wordt blijkbaar bij mij steeds vreemder
 
Tim S

Tim S

11/12/2012 20:54:47
Quote Anchor link
Hoofdletters...

Toevoeging op 11/12/2012 20:56:06:

en EmailAdres ipv mailadres
 
Chris PHP

Chris PHP

12/12/2012 07:28:09
Quote Anchor link
De fout lijkt me vrij duidelijk, vooral met je syntax error op regel 97.

Je opent een else { echter sluit je deze nergens, en komt gelijk daarna de </body>.

En begin eens om die @ voor je mail() weg te halen zodat je eventuele foutmeldingen niet onderdrukt. Zet ook je error_reporting op E_ALL, zodat je ziet wat fout gaat.
Gewijzigd op 12/12/2012 07:30:55 door Chris PHP
 
Gor Grigorian

Gor Grigorian

12/12/2012 20:17:33
Quote Anchor link
Beste mensen,

Vriendelijk bedankt voor de snelle reacties, heb het even helemaal aangepast zoals jullie het beschreven en het is opgelost. De contact-formulier doet het weer en ik ben jullie heel dankbaar!

Toevoeging op 12/12/2012 20:20:57:

Nog 1 laatste vraag:
Hoe kan ik dit topic verder sluiten?
 



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.