Mail functie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Bassos

Bassos

11/10/2006 19:53:00
Quote Anchor link
Ik heb een formulier gemaakt en dat wordt naar mijn mail gestuurd. Maar de headers komen niet goed aan. De headers komen boven aan in het bericht zelf te staan. Iemand een idee wat ik fout doe??

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
$adres = "info@?????.nl";
$headers .= "From $_POST[naam] <$_POST[email]>\r\n";

if ($_POST[verstuur])
{
    if (empty($_POST[naam]))
    {
        echo 'U bent uw naam vergeten in te vullen, probeer het nog eens.';
    }
    elseif (empty($_POST[email]))
    {
        echo 'U bent uw e-mail adres vergeten in te vullen, probeer het nog eens.';
    }
    elseif (empty($_POST[onderwerp]))
    {
        echo 'U bent het onderwerp vergeten in te vullen, probeer het nog eens.';
    }
    elseif (empty($_POST[bericht]))
    {
        echo 'U bent het bericht vergeten in te vullen, probeer het nog eens.';
    }
    else
    {
        mail($adres, $_POST[onderwerp], $_POST[bericht], $headers);
        echo 'Het bericht is verstuurd, bedankt voor uw reactie!!';
    }
}
Gewijzigd op 01/01/1970 01:00:00 door Bassos
 
PHP hulp

PHP hulp

20/04/2024 14:09:02
 
Bo az

Bo az

11/10/2006 19:58:00
Quote Anchor link
Dat zie ik niet direct, maar je doet wel nog meer fout.

Zet eens boven aan error_reporting(E_ALL);

je gebruikt namelijk een constante als index die niet bestaat (levert dus een notice op) wel meerdere zelfs.

Verder extend je de $headers variabele en declareer je die nergens.
 
Bassos

Bassos

11/10/2006 20:58:00
Quote Anchor link
Een constante als index? Ik vat hem niet helemaal. Zo diep zit ik nog niet in het php gebeuren. Zou je het op een andere manier kunnen uitleggen?

En het extenden van de variabele doe ik met de . toch? Dus die moet eruit. Ik heb dat zo regelrecht uit een tutorial van deze site. Maar misschien heb ik het verkeerd begrepen.
Gewijzigd op 01/01/1970 01:00:00 door Bassos
 
Bassos

Bassos

11/10/2006 21:00:00
Quote Anchor link
Een hele hoop notices ja:

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
Notice: Undefined variable: headers in /usr/opt/usr/toppersuninl/DOMAIN/below/verwerk_mail.php on line 8

Notice: Use of undefined constant verstuur - assumed 'verstuur' in /usr/opt/usr/toppersuninl/DOMAIN/below/verwerk_mail.php on line 10

Notice: Use of undefined constant naam - assumed 'naam' in /usr/opt/usr/toppersuninl/DOMAIN/below/verwerk_mail.php on line 12

Notice: Use of undefined constant email - assumed 'email' in /usr/opt/usr/toppersuninl/DOMAIN/below/verwerk_mail.php on line 16

Notice: Use of undefined constant onderwerp - assumed 'onderwerp' in /usr/opt/usr/toppersuninl/DOMAIN/below/verwerk_mail.php on line 20

Notice: Use of undefined constant bericht - assumed 'bericht' in /usr/opt/usr/toppersuninl/DOMAIN/below/verwerk_mail.php on line 24

Notice: Use of undefined constant onderwerp - assumed 'onderwerp' in /usr/opt/usr/toppersuninl/DOMAIN/below/verwerk_mail.php on line 30

Notice: Use of undefined constant bericht - assumed 'bericht' in /usr/opt/usr/toppersuninl/DOMAIN/below/verwerk_mail.php on line 30
 
Jan Koehoorn

Jan Koehoorn

11/10/2006 21:47:00
Quote Anchor link
Overal waar je dit soort dingen doet: $_POST[verstuur]
moet je het veranderen in: $_POST['verstuur']
 
Bassos

Bassos

11/10/2006 22:13:00
Quote Anchor link
Deze error hou ik over:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /usr/opt/usr/toppersuninl/DOMAIN/below/verwerk_mail.php on line 8
 
Bo az

Bo az

11/10/2006 22:40:00
Quote Anchor link
Die komt mij zo snel niet bekend voor en volgens mij komt regel 8 in je script niet overeen met de regels die je hier gepost hebt.

Misschien dat je die regel + de 2 regels er voor en de 2 regels er na even kan posten?
Gewijzigd op 01/01/1970 01:00:00 door Bo az
 
Kees V

Kees V

11/10/2006 22:43:00
Quote Anchor link
Probeer eens
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$headers = "From: ". $_POST['naam']." <".$_POST['email'].">\r\n";
 
Bassos

Bassos

11/10/2006 22:54:00
Quote Anchor link
@boaz

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
error_reporting(E_ALL);

$adres = "info@???.nl";
$headers .= "From $_POST['naam'] <$_POST['email']>\r\n";

if ($_POST['verstuur'])
Gewijzigd op 01/01/1970 01:00:00 door Bassos
 
Jan Koehoorn

Jan Koehoorn

11/10/2006 22:59:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
    error_reporting(E_ALL);
    $adres = "[email protected]";
    // $headers moet je al eerder geinitialiseerd hebben, anders krijg je hier een notice op
    $headers .= 'From: ' . $_POST['naam'] . '<' . $_POST['email'] . '>' . "\r\n";
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
        // verwerk de mail
    }
?>
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 
Bassos

Bassos

12/10/2006 11:29:00
Quote Anchor link
Ik heb het even aangepast naar je voorbeeld. Ik heb alleen nog niet de mogelijkheid om het te testen. Pas vanavond weer.

Maar wat bedoel je met de $headers moeten eerder geinitialiseerd worden?? Kun je een voorbeeld geven. Zodat ik ook weet waarom ik iets doe.
 
Jan Koehoorn

Jan Koehoorn

12/10/2006 12:02:00
Quote Anchor link
Als je dit doet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
    $header
.= "blabla";
?>

en je hebt error_reporting op de juiste waarde staan (E_ALL), dan krijg je een waarschuwing. PHP gaat er dan namelijk vanuit dat de variabele $header al eerder is aangemaakt en een waarde heeft gekregen, bijvoorbeeld zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
    $header
= "abc"; // aanmaken en waarde geven (initialiseren)
    $header .= "def"; // er iets aan toevoegen
?>

Als je in jouw script die variabele $header niet eerder aangemaakt hebt, hoor je een notice te krijgen.
 
Bassos

Bassos

12/10/2006 12:23:00
Quote Anchor link
Dat wil dus eigenlijk zeggen dat ik die punt voor het isteken weg moet halen en dan geeft ie geen notice meer? Maar werkt dan het script nog wel?
 
Bassos

Bassos

12/10/2006 19:36:00
Quote Anchor link
Dit is nu mijn volledige code en het werkt nu niet meer...


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
<?php

error_reporting(E_ALL);

$adres = "info@???.com";
$headers .= 'From: ' . $_POST['naam'] . '<' . $_POST['email'] . '>' . "\r\n";

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

    if (empty($_POST['naam']))
    {

        echo 'U bent uw naam vergeten in te vullen, probeer het nog eens.';
    }

    elseif (empty($_POST['email']))
    {

        echo 'U bent uw e-mail adres vergeten in te vullen, probeer het nog eens.';
    }

    elseif (empty($_POST['onderwerp']))
    {

        echo 'U bent het onderwerp vergeten in te vullen, probeer het nog eens.';
    }

    elseif (empty($_POST['bericht']))
    {

        echo 'U bent het bericht vergeten in te vullen, probeer het nog eens.';
    }

    else
    {
        mail($adres, $_POST['onderwerp'], $_POST['bericht'], $headers);
        echo 'Het bericht is verstuurd, bedankt voor uw reactie!!';
    }
}

 
?>
Gewijzigd op 01/01/1970 01:00:00 door Bassos
 
Joren de Wit

Joren de Wit

12/10/2006 19:40:00
Quote Anchor link
Het werkt niet meer? Wat werkt er niet dan? Wat gebeurt er, wordt er een foutmelding gegeven?
 
Bassos

Bassos

12/10/2006 19:44:00
Quote Anchor link
Hij geeft zoiezo die notice/foutmelding van de headers, omdat ik daar nog niks aan gedaan heb. Maar het probleem is dat er helemaal geen mail aankomt op het beoogde adres...
 
Joren de Wit

Joren de Wit

12/10/2006 19:48:00
Quote Anchor link
Controleer ook eens of de mail wel verstuurd wordt door php. Dan weet je of er wel iets gestuurd wordt. Bijvoorbeeld met onderstaande code:

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
<?php
// Stukje geknipt
else
{
        if(mail($adres, $_POST['onderwerp'], $_POST['bericht'], $headers))
        {

            echo 'Het bericht is verstuurd, bedankt voor uw reactie!!';
        }

        else
        {
            echo 'De mail is niet verstuurd';
        }
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
Bassos

Bassos

12/10/2006 19:50:00
Quote Anchor link
Ik laat hem nu naar een hotmailadres sturen maar ik zie net dat hotmail eruit ligt. Dus het kan zijn dat hij het daarom niet doet. Maar ik zal morgen eens verder kijken. Ik moet nu namelijk weg...
 
Bart van der veen

bart van der veen

12/10/2006 19:50:00
Quote Anchor link
$adres = "info@?????.nl"; <= ik snap dat het voor test maar mag dit wel zo?
 
Joren de Wit

Joren de Wit

12/10/2006 19:52:00
Quote Anchor link
Ik neem aan dat de TS dat alleen gedaan heeft zodat het mail adres niet zichtbaar is om spam te voorkomen...
 
PHP Newbie

PHP Newbie

12/10/2006 19:56:00
Quote Anchor link
Hotmail heeft een (te) hoog ingesteld spamfilter.

Stuur is naar een ander adres en kijk of ie daar wel aankomt. Met alleen de from header kom je er niet bij hotmail.
 

Pagina: 1 2 volgende »



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.