Mail functie
Code (php)
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
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!!';
}
}
$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
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.
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
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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
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
moet je het veranderen in: $_POST['verstuur']
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
Code (php)
1
2
3
4
5
6
2
3
4
5
6
error_reporting(E_ALL);
$adres = "info@???.nl";
$headers .= "From $_POST['naam'] <$_POST['email']>\r\n";
if ($_POST['verstuur'])
$adres = "info@???.nl";
$headers .= "From $_POST['naam'] <$_POST['email']>\r\n";
if ($_POST['verstuur'])
Gewijzigd op 01/01/1970 01:00:00 door Bassos
Code (php)
1
2
3
4
5
6
7
8
9
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
}
?>
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
Maar wat bedoel je met de $headers moeten eerder geinitialiseerd worden?? Kun je een voorbeeld geven. Zodat ik ook weet waarom ik iets doe.
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)
1
2
3
4
2
3
4
<?php
$header = "abc"; // aanmaken en waarde geven (initialiseren)
$header .= "def"; // er iets aan toevoegen
?>
$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.
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?
Code (php)
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
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!!';
}
}
?>
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
Het werkt niet meer? Wat werkt er niet dan? Wat gebeurt er, wordt er een foutmelding gegeven?
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...
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...
$adres = "info@?????.nl"; <= ik snap dat het voor test maar mag dit wel zo?
Ik neem aan dat de TS dat alleen gedaan heeft zodat het mail adres niet zichtbaar is om spam te voorkomen...
Stuur is naar een ander adres en kijk of ie daar wel aankomt. Met alleen de from header kom je er niet bij hotmail.