probleem bij contact formulier

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Martyn

Martyn

26/05/2009 20:16:00
Quote Anchor link
ik heb van deze goede site een mooi contact formulier afgeehaald met alles er op en eraan. met spam limiet enzo:)
maar nu had ik een paar probelem:


ik krijg 3 warningen..
deze 3:
Warning: ini_set() has been disabled for security reasons in /www/uuuq.com/m/a/r/marty-f1/htdocs/contact.php on line 10

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /www/uuuq.com/m/a/r/marty-f1/htdocs/contact.php:10) in /www/uuuq.com/m/a/r/marty-f1/htdocs/contact.php on line 13

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /www/uuuq.com/m/a/r/marty-f1/htdocs/contact.php:10) in /www/uuuq.com/m/a/r/marty-f1/htdocs/contact.php on line 13

deze heb ik opgelost door ini_set(); weg tehalen, is de handig of niet? is er misschien een andere manier?
en nu kan ik gwn gaan verzenden.
als ik dan op verzenden hebt gedrukt krijg ik dit:
der die problem zijn opgelost ik heb gen ini_set(); weg gehaald.


maar als ik nu verzend krijg ik deze fout:
Er is een fout opgetreden bij het verzenden van de email
Warning: Cannot modify header information - headers already sent by (output started at /www/uuuq.com/m/a/r/marty-f1/htdocs/contact/contact.php:219) in /www/uuuq.com/m/a/r/marty-f1/htdocs/contact/contact.php on line 221

??? wie kan me helpen???
 
PHP hulp

PHP hulp

14/05/2024 14:10:56
 
- SanThe -

- SanThe -

26/05/2009 20:23:00
 
Martyn

Martyn

26/05/2009 20:24:00
Quote Anchor link
dus als ik eht goed begrijp moet ik ergens header() nog neer zetten ofiets?
 

26/05/2009 20:25:00
Quote Anchor link
Wat snap je d'r niet aan?
Al die waarschuwingen zijn toch duidelijk?
Dat is gewoon engels. Niet zoals Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM,
 
Martyn

Martyn

26/05/2009 20:25:00
Quote Anchor link
wat moet ik doen dan?
ik begin net met php?
 

26/05/2009 20:29:00
Quote Anchor link
Laten we zeggen, je hebt nu:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
echo "Ik ben output";
header("Location: index.php");
?>

Dat kan niet, omdat je die header voor de output moet hebben.
Je kunt het vergelijken met een paket sturen, je moet de gegevens (waar naar toe, van wie) op de doos zetten, voordat je het pakt kan sturen.
Er mag dus geen output naar de browser zijn voor header, of cookie, of session_start, want die werken allemaal met headers.
Er wordt soms aangedragen om ob_start te gebruiken, doe dat niet. Je hebt die nergens voor nodig. Als je ob_start nodig hebt om te zorgen dat je geen waarschuwingen krijgt ben je fout bezig. Ob_start is er ook niet voor bedoelt.
Gewijzigd op 01/01/1970 01:00:00 door
 
Martyn

Martyn

26/05/2009 20:31:00
Quote Anchor link
dit staat nu boven aan me script:
ini_set('display_errors', 1);
error_reporting(E_ALL);
ob_start();
session_start();

daar moet ik dus header(); neer zetten?
en ik heb nog nooit met header gewerkt srry.
 
- SanThe -

- SanThe -

26/05/2009 20:35:00
Quote Anchor link
Welk script heb je gebruikt? Linkje?
 
Martyn

Martyn

26/05/2009 20:37:00
Quote Anchor link
klik hier
maar ik heb denet ini_set(); weggehaald kan dat geen kwaad?
 
- SanThe -

- SanThe -

26/05/2009 20:51:00
Quote Anchor link
Heb je die bestanden in een include() zitten?
 
Martyn

Martyn

26/05/2009 20:53:00
Quote Anchor link
welke bestanden?
ik heb gewoon het script over genomen hoe die er stond. en de config naar mij behoefte ingesteld,
maar kijk misschien kan je hier iets mee:

else
{
echo "Er is een fout opgetreden bij het verzenden van de email";
}
header("refresh:3;url=".$cfg['url']."");

dit is de regel 221 met de header ding?
 
- SanThe -

- SanThe -

26/05/2009 20:59:00
Quote Anchor link
Dat gaat niet goed. Misschien een <meta> van maken of een linkje?
 
Martyn

Martyn

26/05/2009 21:00:00
Quote Anchor link
dit is wat ik nu heb.
de fout zou op regel 221 moeten staan..
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
<?php
############################################
#  Filename   : contact.php                #
#------------------------------------------#
#  Written By : Thijs Ferket               #
#  Website    : www.ferket.net             #
#------------------------------------------#
############################################



error_reporting(E_ALL);

session_start();

// Config Gedeelte
$cfg['url'] = "http://www.marty-f1.uuuq.com/";// Site waarnaar je terug gaat als je een bericht hebt achtergelaten
$cfg['naam'] = "Martijn";                // Webmaster naam
$cfg['email'] = "[email protected]";        // Webmaster E-mail
$cfg['spam'] = 10;                        // Anti Spam Tijd in Minuten ( Voer "0" om de Spam Beveiliging uit te zetten )
$cfg['text'] = TRUE;                    // Bij Fout Text Rood maken ( TRUE voor aan, FALSE voor uit )
$cfg['input'] = TRUE;                    // Bij Fout Border om Vakje Rood maken ( TRUE voor aan, FALSE voor uit )
$cfg['HTML'] = TRUE;                    // Een HTML email ( TRUE voor aan, FALSE voor uit )
$cfg['CAPTCHA'] = TRUE;                    // CAPTCHA ( TRUE voor aan, FALSE voor uit )


// Hieronder niks meer veranderen
// E-mail Checker / Validator

function checkmail($email)
{

    if(eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$", $email))
    {

        return TRUE;
    }

    return FALSE;
}


$formulier = TRUE;

if(!isset($_COOKIE['formulier']))
{

    if(isset($_POST['wis']) && ($_SERVER['REQUEST_METHOD'] == "POST"))
    {

        foreach($_POST as $key => $value)
        {

            unset($value);
        }

        header("Location: ".$_SERVER['PHP_SELF']."");
    }

        
    if(isset($_POST['verzenden']) && ($_SERVER['REQUEST_METHOD'] == "POST"))
    {

        $aFout = array();
        
        $naam = trim($_POST['naam']);
        $email = trim($_POST['email']);
        $onderwerp = trim($_POST['onderwerp']);
        $bericht = trim($_POST['bericht']);
        
        if($cfg['CAPTCHA'])
        {

            $code = $_POST['code'];
        }

                
        if(empty($naam) || (strlen($naam) < 3) || eregi("[<>]", $naam) )
        {

            $aFout[] = "Er is geen naam ingevuld.";
            unset($naam);
            $fout['text']['naam'] = TRUE;
            $fout['input']['naam'] = TRUE;
        }

        if(empty($email))
        {

            $aFout[] = "Er is geen e-mail adres ingevuld.";
            unset($email);
            $fout['text']['email'] = TRUE;
            $fout['input']['email'] = TRUE;
        }

        elseif(checkmail($email) == 0)
        // Wanneer je PHP 5.2 > gebruikt
        //elseif(!filter_var($email, FILTER_VALIDATE_EMAIL))

        {
            $aFout[] = "Er is geen correct e-mail adres ingevuld.";
            unset($email);
            $fout['text']['email'] = TRUE;
            $fout['input']['email'] = TRUE;
        }

        if(empty($onderwerp))
        {

            $aFout[] = "Er is geen onderwerp ingevuld.";
            unset($onderwerp);
            $fout['text']['onderwerp'] = TRUE;
            $fout['input']['onderwerp'] = TRUE;
        }

        if(empty($bericht))
        {

            $aFout[] = "Er is geen bericht ingevuld.";
            unset($bericht);
            $fout['text']['bericht'] = TRUE;
            $fout['input']['bericht'] = TRUE;
        }

        if($cfg['CAPTCHA'])
        {

            if(strtoupper($code) != $_SESSION['captcha_code'])
            {

                $aFout[] = "Er is geen correcte code ingevuld.";
                $fout['text']['code'] = TRUE;
                $fout['input']['code'] = TRUE;
            }
        }

        if(!$cfg['text'])
        {

            unset($fout['text']);
        }

        if(!$cfg['input'])
        {

            unset($fout['input']);
        }

        if(!empty( $aFout ))
        {

            $errors = '
            <div id="errors">
            <ul>'
;
            foreach($aFout as $sFout)

            {

                $errors .= "    <li>".$sFout."</li>\n";
            }

            $errors .= "</ul>
            </div>"
;
        }

        else
        {
            $formulier = FALSE;
            
            
            if($cfg['HTML'])
            {

                // Headers
                $headers = "From: \"Contact Formulier\" <".$cfg['email'].">\r\n";
                $headers .= "Reply-To: \"".$naam."\" <".$email.">\n";
                $headers .= "Return-Path: Mail-Error <".$cfg['email'].">\n";
                $headers .= "MIME-Version: 1.0\n";
                $headers .= "Content-Transfer-Encoding: 8bit\n";
                $headers .= "Content-type: text/html; charset=iso-8859-1\n";
                
                
                $bericht = '
                <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
                <html>
                <head>
                </head>
            
                <body>
                <br />
                <b>Naam:</b> '
.$naam.'<br />
                <b>Email:</b> <a href=\"mailto:'
.$email.'\">'.$email.'</a><br />
                <br />
                <b>Bericht:</b><br />
                '
.$bericht.'
                <br />
                <br />
                <br />
                --------------------------------------------------------------------------<br />
                <b>Datum:</b> '
.date("d-m-Y @ H:i:s").'<br />
                <b>IP:</b> <a href=\"http://sunny.nic.com/cgi-bin/whois?domain='
.$_SERVER['REMOTE_ADDR'].'\">'.$_SERVER['REMOTE_ADDR'].'</a><br />
                <b>Host:</b> '
.gethostbyaddr($_SERVER['REMOTE_ADDR']).'<br />
                </body>
                </html>'
;
            }

            else
            {
                $bericht_wrap = wordwrap ($bericht, 40, "\n", 1);
                // Headers
                $headers = "From: \"Contact Formulier\" <".$cfg['email'].">\n";
                $headers .= "MIME-Version: 1.0\n";
                $headers .= "Content-type: text/plain; charset='iso-8859-1'\n";
            
                // Bericht
                $message = "Naam: ".$naam."        \n";
                $message .= "E-mail: ".$email."     \n";
                $message .= "Bericht:\n".$bericht_wrap."     \n ";
                $message .= "               \n ";
                $message .= "Datum: ".date("d-m-Y H:i:s")." \n";
                $message .= "------------------------------------------------------- \n ";
                $message .= "IP: ".$_SERVER['REMOTE_ADDR']."                    \n ";
                $message .= "Host: ".gethostbyaddr($_SERVER['REMOTE_ADDR'])."                \n ";
            
            }

        
            if(mail($cfg['email'], "[Contact] ".$onderwerp, $bericht, $headers))
            {

                if(isset($_POST['stuurkopie']))
                {

                    $headers = "From: \"Contact Formulier\" <".$email.">\r\n";
                    $headers .= "Reply-To: \"".$naam."\" <".$email.">\n";
                    $headers .= "Return-Path: Mail-Error <".$email.">\n";
                    $headers .= "MIME-Version: 1.0\n";
                    $headers .= "Content-Transfer-Encoding: 8bit\n";
                    $headers .= "Content-type: text/html; charset=iso-8859-1\n";
                    
                    mail($email, "[Contact] ".$onderwerp, $bericht, $headers);
                
                }

                
                unset($naam, $email, $onderwerp, $bericht);
                setcookie("formulier", 1, time() + ( $cfg['spam'] * 60 ) );
        
                echo "
                <p>
                Uw bericht is succesvol verzonden, er word zo snel mogelijk gereageerd.<br />
                <br />
                Met vriendelijke groeten,<br />
                <b>"
.$cfg['naam']."</b>
                </p>
                "
;    
            }

            else
            {
                echo "Er is een fout opgetreden bij het verzenden van de email";
            }

            header("refresh:3;url=".$cfg['url']."");
        }
    }

    if($formulier)
    {

    ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link href="style.css" rel="stylesheet" type="text/css" />

<title>testje</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Language" content="nl" />
</head>

<body>
<div id="container">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
    if(isset($errors)) {
        echo $errors;
    }

    ?>


<h3>Contact Formulier Versie 2</h3>
<form method="post" action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $_SERVER['PHP_SELF']; ?>
">
<p>
<label
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if(isset($fout['text']['naam'])) { echo 'class="fout"'; } ?>
>Naam:</label>
<input type="text" id="naam" name="naam" maxlength="30"
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if(isset($fout['input']['naam'])) { echo 'class="fout"'; } ?>
value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if (!empty($naam)) { echo stripslashes($naam); } ?>
" /><br />

<label
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if(isset($fout['text']['email'])) { echo 'class="fout"'; } ?>
>Email:</label>
<input type="text" id="email" name="email" maxlength="255"
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if(isset($fout['input']['email'])) { echo 'class="fout"'; } ?>
value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if (!empty($email)) { echo stripslashes($email); } ?>
" /><br />

<label
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if(isset($fout['text']['onderwerp'])) { echo 'class="fout"'; } ?>
>Onderwerp:</label>
<input type="text" id="onderwerp" name="onderwerp" maxlength="40"
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if(isset($fout['input']['onderwerp'])) { echo 'class="fout'; } ?>
value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if (!empty($onderwerp)) { echo stripslashes($onderwerp); } ?>
" /><br />

<label
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if(isset($fout['text']['bericht'])) { echo 'class="fout"'; } ?>
>Bericht:</label>
<textarea id="bericht" name="bericht"
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if(isset($fout['input']['bericht'])) { echo 'class="fout"'; } ?>
cols="35" rows="6">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if (!empty($bericht)) { echo stripslashes($bericht); } ?>
</textarea><br />

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
        if($cfg['CAPTCHA'])
        {

        ?>

<label></label>
<img src="captcha.php" alt="" /><br />

<label
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if(isset($fout['text']['code'])) { echo 'class="fout"'; } ?>
>Code:</label>
<input type="text" id="code" name="code" maxlength="4" size="4"
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if(isset($fout['input']['code'])) { echo 'class="captcha fout"'; } ?>
/><br />
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
        }
        ?>

<label for="stuurkopie">Stuur mij een kopie</label><input type="checkbox" id="stuurkopie" name="stuurkopie" value="1" /><br />

<label></label>
<input type="submit" id="verzenden" name="verzenden" value="verzenden" />
<input type="submit" id="wis" name="wis" value="Wis velden" />
</p>
</form>
</div>

</body>
</html>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
    }
}

else
{
    echo "
    <p>
    U kunt maar eens in de "
.$cfg['spam']." minuten een e-mail versturen!<br />
    U wordt nu automatisch doorgestuurd.
    </p>"
;
    header("refresh:3;url=".$cfg['url']."");
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Martyn
 
Jesper Diovo

Jesper Diovo

26/05/2009 22:03:00
Quote Anchor link
Op regel 221 en op regel 11 van het laatste stukje code (zet alles eens tussen en - hier op PHPHulp, zodat het allemaal bij elkaar zit en overzichtelijk wordt) stuur je een header() terwijl je daarvoor al output naar de browser stuurde. Dat gaat niet, en dat moet je dus vermijden.
 
Martyn

Martyn

27/05/2009 16:30:00
Quote Anchor link
kijk ik heb dit gedaan:
if(mail($cfg['email'], "[Contact] ".$onderwerp, $bericht, $headers))
{
if(isset($_POST['stuurkopie']))
{
$headers = "From: \"Contact Formulier\" <".$email.">\r\n";
$headers .= "Reply-To: \"".$naam."\" <".$email.">\n";
$headers .= "Return-Path: Mail-Error <".$email.">\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Transfer-Encoding: 8bit\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";

mail($email, "[Contact] ".$onderwerp, $bericht, $headers);

}

unset($naam, $email, $onderwerp, $bericht);
setcookie("formulier", 1, time() + ( $cfg['spam'] * 60 ) );

echo "
<p>
Uw bericht is succesvol verzonden, er word zo snel mogelijk gereageerd.<br />
<br />
Met vriendelijke groeten,<br />
<b>".$cfg['naam']."</b>
</p>
";
}
else
header("refresh:3;url=".$cfg['url']."");
{
echo "Er is een fout opgetreden bij het verzenden van de email";
}

ik heb die header naar boven geplaats gelijk achter else dat werkt nu wel ik word gwn door gestuurd naar die pagina waar ik het wou maar ik heb nu wel gwn fout welding:
er is een foutopgetreden bij het verzend van de email.
maar is zie er geen probleem?
zien jullie het missn?
Gewijzigd op 01/01/1970 01:00:00 door Martyn
 



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.