Contact formulier script help.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dennis Veldkamp

Dennis Veldkamp

21/10/2010 16:07:14
Quote Anchor link
Goededag,

Het lukt me niet om deze script werkend te krijgen.
Het is een contact script voor mijn site.

Ik krijg het formulier wel te zien, en wanneer ik het formulier verstuur krijg ik ook netjes "Bericht verzonden<
Indien nodig zullen we zo spoedig mogelijk contact met u opnemen."
te zien. alleen ik krijg geen mail.

Kunnen jullie mij helpen

alvast bedankt.
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
<?php
// App: contactfrom
$AppNaam = 'contact';
$AppBeschrijving = 'Contactformulier';

function
contactVars(){
    return '
    Website-naam: $site_name <br>
    From-emailadres: $email_webshop <br>'
;    
}

function
contactStatus(){
        
}

function
contactmain(){
    global $site_name, $email_webshop, $_POST;
    
    if(isset($_POST['naam'])){
        
        $header = 'From: '.$site_name.' <'.$email_webshop.'>\r\n
Content-type: text/html; charset=iso-8859-1 \n\r
To: '
.$email_webshop.' <'.$email_webshop.'> \n\r';    

//        $bedrijfsnaam = $_POST['bedrijfsnaam'];
        $naam = $_POST['naam'];
        $email = $_POST['email'];
        $telefoonnummer = $_POST['telefoonnummer'];
        $tekst = nl2br($_POST['tekst']);
        
        $msg= '
<html><head></head><body>
<h2>Beste beheerder,</h2>
<p>Iemand heeft het contactformulier ingevult op '
.$site_name.'</p>
<p>De volgende gegevens zijn ingevuld:</p>'
;

// $msg .= <p><strong>Bedrijfsnaam</strong>: $bedrijfsnaam</p>

        $msg.='
<p><strong>Naam contactpersoon</strong>: '
.$naam.'</p>
<p><strong>Emailadres</strong>: '
.$email.'</p>
<p><strong>Telefoonnummer</strong>: '
.$telefoonnummer.'</p>
<p><strong>Bericht</strong>:<br />'
.$tekst.'</p>
<p>&nbsp;</p>
<p><strong>Dit bericht is automatisch gegenereerd bij het versturen.</strong></p>
</body></html>'
;

        mail($doel,"Bericht op ".$site_name,$msg,$header);
    
        echo'<div class="big">
<div class="big-top"></div>
<div class="big-content">
<h1>Bericht verzonden</h1>
    <p>Indien nodig zullen we zo spoedig mogelijk contact met u opnemen.</p></div>
<div class="big-footer"></div>
</div>'
;
        Einde();
        die('');
    }
else {
        echo '
        <div class="big">
<div class="big-top"></div>
<div class="big-content">
<h1>Contact</h1>
<p>Voor eventuele vragen en / of opmerkingen kunt u contact met ons opnemen via het onderstaande formulier:</p>
<form action="'
.$_server['PHP_SELF'].'" method="post">
<table width="100%" cellspacing="1" cellpadding="1">'
;
//  <tr>
//   <td>Bedrijfsnaam</td>
//    <td><input name="bedrijfsnaam" size="25" type="text" /></td>
//  </tr>

          echo'
  <tr>
    <td>Naam</td>
    <td><input name="naam" size="25" type="text" /></td>
  </tr>
  <tr>
    <td>E-mail</td>
    <td><input name="email" size="25" type="text" /></td>
  </tr>
  <tr>
    <td>Telefoonnummer </td>
    <td><input name="telefoonnummer" size="25" type="text" /></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>Uw bericht</td>
  </tr>
  <tr>
    <td valign="top">&nbsp;</td>
    <td><textarea name="tekst" cols="25" rows="5"></textarea></td>
  </tr>
  <tr>
    <td></td>
    <td><input type="submit" name="submit" value="Versturen" /></td>
  </tr>
</table></form>'
;
    }
}


echo "$email_webshop";
?>



Toevoeging op 21/10/2010 16:22:52:

Notice: Undefined variable: _server in /home/flower/domains/sitenaam.nl/public_html/apps/contact.php on line 67

Ik krijg deze foutmelding te zien wanneer ik error reporting aan zet.
Gewijzigd op 21/10/2010 16:23:54 door Dennis Veldkamp
 
PHP hulp

PHP hulp

18/04/2024 17:17:04
 
Jasper DS

Jasper DS

21/10/2010 16:36:11
Quote Anchor link
maak van lijn 66 dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

<form action="" method="post">

?>
 
Jel le

Jel le

21/10/2010 16:38:58
Quote Anchor link
of $_SERVER['PHP_SELF']
 
- SanThe -

- SanThe -

21/10/2010 16:45:31
Quote Anchor link
Hoofdletters. Niet $_server maar $_SERVER.

Verder geeft bijv. deze function nooit retour wat jij denkt. Die $vars zijn namelijk niet in de function bekend. En daarbij komt ook nog dat ze tussen enkele quotes staan.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
function contactVars(){
    return '
    Website-naam: $site_name <br>
    From-emailadres: $email_webshop <br>'
;    
}

?>


Ook wordt \r\n tussen enkele quotes niet geparsed, maar letterlijk overgenomen.

$doel is onbekend.

To: hoort niet in de headers maar in $doel te staan.

Gebruik een if/else om mail heen zodat je kunt zien of het goed gaat.
 
Dennis Veldkamp

Dennis Veldkamp

21/10/2010 16:45:50
Quote Anchor link
bedankt, die foutmelding heb ik niet meer.

Nu krijg ik het volgende foutmelding.

Notice: Undefined variable: doel in /home/flower/domains/sitename.nl/public_html/apps/contact.php on line 49
 
- Raoul -

- Raoul -

21/10/2010 16:51:36
Quote Anchor link
Dat betekend dat je nergens de variable $doel hebt aangemaakt. Daarom komt je mail ook niet aan.
 
Teun Hesseling

Teun Hesseling

21/10/2010 16:52:09
Quote Anchor link
SanThe Nvt op 21/10/2010 16:45:31:
Hoofdletters. Niet $_server maar $_SERVER.


ik dacht dat alleen javascript daar altijd moeilijk over deet(hoofdletters of niet) en dat het bij php niks uitmaakte, achja weer wat geleerd.
 
- Raoul -

- Raoul -

21/10/2010 16:53:28
Quote Anchor link
$hallo is ook niet hetzelfde als $Hallo he;)
 
Jasper DS

Jasper DS

21/10/2010 16:56:19
Quote Anchor link
Dennis Veldkamp op 21/10/2010 16:45:50:
bedankt, die foutmelding heb ik niet meer.

Nu krijg ik het volgende foutmelding.

Notice: Undefined variable: doel in /home/flower/domains/sitename.nl/public_html/apps/contact.php on line 49


schrijf ergens waar je vindt da dat past:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

$doel
= '[email protected]';

?>



Toevoeging op 21/10/2010 17:06:51:

(zet dat bv op regel 5)
 
Dennis Veldkamp

Dennis Veldkamp

21/10/2010 17:15:52
Quote Anchor link
Ik heb doel variable aangemaakt. nu krijg ik geen foutmelding maar een melding van page.php pagina bestaat niet.

Met laatste aanpassingen ziet hij er zo uit.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
error_reporting(E_ALL);
?>

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
<?php
// App: contactfrom
$AppNaam = 'contact';
$AppBeschrijving = 'Contactformulier';
$doel= 'To: '.$email_webshop.' <'.$email_webshop.'> \n\r';  

function
contactVars(){
    return '
    Website-naam: $site_name <br>
    From-emailadres: $email_webshop <br>'
;    
}

function
contactStatus(){
        
}

function
contactmain(){
    global $site_name, $email_webshop, $_POST;
    
    if(isset($_POST['naam'])){
        
        $header = 'From: '.$site_name.' <'.$email_webshop.'>\r\n
Content-type: text/html; charset=iso-8859-1 \n\r '
;

//        $bedrijfsnaam = $_POST['bedrijfsnaam'];
        $naam = $_POST['naam'];
        $email = $_POST['email'];
        $telefoonnummer = $_POST['telefoonnummer'];
        $tekst = nl2br($_POST['tekst']);
        
        $msg= '
<html><head></head><body>
<h2>Beste beheerder,</h2>
<p>Iemand heeft het contactformulier ingevult op '
.$site_name.'</p>
<p>De volgende gegevens zijn ingevuld:</p>'
;

// $msg .= <p><strong>Bedrijfsnaam</strong>: $bedrijfsnaam</p>

        $msg.='
<p><strong>Naam contactpersoon</strong>: '
.$naam.'</p>
<p><strong>Emailadres</strong>: '
.$email.'</p>
<p><strong>Telefoonnummer</strong>: '
.$telefoonnummer.'</p>
<p><strong>Bericht</strong>:<br />'
.$tekst.'</p>
<p>&nbsp;</p>
<p><strong>Dit bericht is automatisch gegenereerd bij het versturen.</strong></p>
</body></html>'
;

        mail($doel,"Bericht op ".$site_name,$msg,$header);
    
        echo'<div class="big">
<div class="big-top"></div>
<div class="big-content">
<h1>Bericht verzonden</h1>
    <p>Indien nodig zullen we zo spoedig mogelijk contact met u opnemen.</p></div>
<div class="big-footer"></div>
</div>'
;
        Einde();
        die('');
    }
else {
        echo '
        <div class="big">
<div class="big-top"></div>
<div class="big-content">
<h1>Contact</h1>
<p>Voor eventuele vragen en / of opmerkingen kunt u contact met ons opnemen via het onderstaande formulier:</p>
<form action="'
.$_SERVER['PHP_SELF'].'" method="post">
<table width="100%" cellspacing="1" cellpadding="1">'
;
//  <tr>
//   <td>Bedrijfsnaam</td>
//    <td><input name="bedrijfsnaam" size="25" type="text" /></td>
//  </tr>

          echo'
  <tr>
    <td>Naam</td>
    <td><input name="naam" size="25" type="text" /></td>
  </tr>
  <tr>
    <td>E-mail</td>
    <td><input name="email" size="25" type="text" /></td>
  </tr>
  <tr>
    <td>Telefoonnummer </td>
    <td><input name="telefoonnummer" size="25" type="text" /></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>Uw bericht</td>
  </tr>
  <tr>
    <td valign="top">&nbsp;</td>
    <td><textarea name="tekst" cols="25" rows="5"></textarea></td>
  </tr>
  <tr>
    <td></td>
    <td><input type="submit" name="submit" value="Versturen" /></td>
  </tr>
</table></form>'
;
    }
}


echo "$email_webshop";
?>
 
- SanThe -

- SanThe -

21/10/2010 17:21:15
Quote Anchor link
Heb je mijn post wel gelezen? Ik zie nog steeds diverse fouten.
 
Dennis Veldkamp

Dennis Veldkamp

21/10/2010 17:23:52
Quote Anchor link
Ik heb je post wel gezien.
Ik weet niet hoe ik dat moet doen.

mijn Php kennis is helaas niet zo goed.
 
- SanThe -

- SanThe -

21/10/2010 17:29:37
Quote Anchor link
SanThe Nvt op 21/10/2010 16:45:31:
Verder geeft bijv. deze function nooit retour wat jij denkt. Die $vars zijn namelijk niet in de function bekend. En daarbij komt ook nog dat ze tussen enkele quotes staan.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
function contactVars(){
    return '
    Website-naam: $site_name <br>
    From-emailadres: $email_webshop <br>'
;    
}

?>


Gebruik
global $site_name, $email_webshop;
En haal de $vars buiten de quotes.

SanThe Nvt op 21/10/2010 16:45:31:
Ook wordt \r\n tussen enkele quotes niet geparsed, maar letterlijk overgenomen.


Gebruik hiervoor de php constante: PHP_EOL.

SanThe Nvt op 21/10/2010 16:45:31:
Gebruik een if/else om mail heen zodat je kunt zien of het goed gaat.


Lijkt mij duidelijk genoeg.
 
Dennis Veldkamp

Dennis Veldkamp

21/10/2010 18:04:03
Quote Anchor link
Ik krijg nu een foutmelding van page.php. Pagina niet gevonden.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
error_reporting(E_ALL);
?>

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
<?php
// App: contactfrom
$AppNaam = 'contact';
$AppBeschrijving = 'Contactformulier';
$doel= 'To: '.$email_webshop.' <'.$email_webshop.'> . PHPEOL .';  

function
contactVars(){
 global $site_name, $email_webshop;  
}

function
contactStatus(){
        
}

function
contactmain(){
    global $site_name, $email_webshop, $_POST;
    
    if(isset($_POST['naam'])){
        
        $header = 'From: '.$site_name.' <'.$email_webshop.'>. PHPEOL .
Content-type: text/html; charset=iso-8859-1 . PHPEOL . '
;

//        $bedrijfsnaam = $_POST['bedrijfsnaam'];
        $naam = $_POST['naam'];
        $email = $_POST['email'];
        $telefoonnummer = $_POST['telefoonnummer'];
        $tekst = nl2br($_POST['tekst']);
        
        $msg= '
<html><head></head><body>
<h2>Beste beheerder,</h2>
<p>Iemand heeft het contactformulier ingevult op '
.$site_name.'</p>
<p>De volgende gegevens zijn ingevuld:</p>'
;

// $msg .= <p><strong>Bedrijfsnaam</strong>: $bedrijfsnaam</p>

        $msg.='
<p><strong>Naam contactpersoon</strong>: '
.$naam.'</p>
<p><strong>Emailadres</strong>: '
.$email.'</p>
<p><strong>Telefoonnummer</strong>: '
.$telefoonnummer.'</p>
<p><strong>Bericht</strong>:<br />'
.$tekst.'</p>
<p>&nbsp;</p>
<p><strong>Dit bericht is automatisch gegenereerd bij het versturen.</strong></p>
</body></html>'
;

        if (mail($doel,"Bericht op ".$site_name,$msg,$header))

   {

          
      echo '<h1>Het contactformulier is verzonden</h1>';
      
       }

  else
  {
      echo '<h1>Het contactformulier is niet verzonden</h1>
      
      <p><b>Onze excuses.</b> Het contactformulier kon niet verzonden worden.</p>'
;
  }


    
        echo'<div class="big">
<div class="big-top"></div>
<div class="big-content">
<h1>Bericht verzonden</h1>
    <p>Indien nodig zullen we zo spoedig mogelijk contact met u opnemen.</p></div>
<div class="big-footer"></div>
</div>'
;
        Einde();
        die('');
    }
else {
        echo '
        <div class="big">
<div class="big-top"></div>
<div class="big-content">
<h1>Contact</h1>
<p>Voor eventuele vragen en / of opmerkingen kunt u contact met ons opnemen via het onderstaande formulier:</p>
<form action="'
.$_SERVER['PHP_SELF'].'" method="post">
<table width="100%" cellspacing="1" cellpadding="1">'
;
//  <tr>
//   <td>Bedrijfsnaam</td>
//    <td><input name="bedrijfsnaam" size="25" type="text" /></td>
//  </tr>

          echo'
  <tr>
    <td>Naam</td>
    <td><input name="naam" size="25" type="text" /></td>
  </tr>
  <tr>
    <td>E-mail</td>
    <td><input name="email" size="25" type="text" /></td>
  </tr>
  <tr>
    <td>Telefoonnummer </td>
    <td><input name="telefoonnummer" size="25" type="text" /></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>Uw bericht</td>
  </tr>
  <tr>
    <td valign="top">&nbsp;</td>
    <td><textarea name="tekst" cols="25" rows="5"></textarea></td>
  </tr>
  <tr>
    <td></td>
    <td><input type="submit" name="submit" value="Versturen" /></td>
  </tr>
</table></form>'
;
    }
}


echo "$email_webshop";
?>




Dit is page.php

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
<?php
session_start(); //Hierboven mag NIETS staan! - Alle verdere code MOET hieronder!

$pad = "system/";
include($pad.'header.php');

$page = $_GET['page'];
$app = $_GET['app'];



if($page != ''){
    $res = mysql_query("SELECT * FROM custom_pages WHERE url = ".quotes($page));
    if(mysql_num_rows($res) != 1) {
        $msg = "Pagina niet gevonden.";
    }
else {
        $r = mysql_fetch_assoc($res);
        echo '<div class="big">
<div class="big-top"></div>
<div class="big-content">'
;
echo '
<h1>'
.$r['title'].'</h1>'.$r['content'].'</div>
<div class="big-footer"></div>
</div>'
;
        die(Einde());
    }
}
elseif ($app != ''){
    $sql = "SELECT * FROM apps WHERE appnaam = ".quotes($app)." LIMIT 1";
    $res = mysql_query($sql);
    if(mysql_num_rows($res) != 1){
        echo '<div class="big">
<div class="big-top"></div>
<div class="big-content">'
;
        echo '<h1>Pagina niet gevonden</h1>';
    }
else {
        $d = mysql_fetch_array($res);    
        include 'apps/'.$d['file'];
        if(call_user_func($d['appnaam'].'Vars') == ''){
            echo '<div class="big">
<div class="big-top"></div>
<div class="big-content">'
;
echo '<h1>Fout in bestand..</h1>';    
        }
else {
            call_user_func($d['appnaam'].'main');    
        }
    }
    
}
else {
    echo '<div class="big">
<div class="big-top"></div>
<div class="big-content"><h1>Pagina niet gevonden.</h1>'
;    
}

Einde2();

?>
 
- SanThe -

- SanThe -

21/10/2010 18:15:56
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
// niet zo
$doel= 'To: '.$email_webshop.' <'.$email_webshop.'> . PHPEOL .';  
// maar zo
$doel= 'To: '.$email_webshop.' <'.$email_webshop.'> '. PHP_EOL;  
?>
 



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.