From adres niet te zien
Ik heb een script gevonden op internet waarmee ik verder ben gaan puzzelen en het heb aangepast naar mijn wensen.
Het enige wat het moet kunnen is checken of het mail adres juist is, en knop 1 moet verzenden naar mailadres 1 en knop 2 verzenden naar mailadres 2. Verder stuurt de server een bevestigings mail weer terug naar het adres wat ingevuld is in het invoer veld. Maar dat is juist het probleem. Als ik het formulier invul krijg ik netjes het bericht binnen maar het afzenderveld is leeg. Hierdoor krijg ik ook gelijk een bericht terug dat de bevestiging niet is af te leveren.
hieronder het script:
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
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
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
<?php
[code]<?php
if(!empty($_POST['Submit']))
{
if(!ereg("^[_a-zA-Z0-9-]+(\.[*@([a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$", $_POST['uwemail']))
{ $error_msg .="- Voer astublieft een geldig email adres in.<br>"; }
if(!empty($error_msg))
{
//Een van de velden werd niet goed ingevuld
echo "<b>Contact webmaster kon niet worden uitgevoerd door volgende redenen:</b><br><br>";
echo $error_msg;
echo "<br>Klik alstublieft op <a href=javascript:history.back(1)>Ga terug</a> en vul alle velden in.<br><br>";
}
else
{
$recipient = "[email protected]"; //Het email adres van de persoon die vragen moet ontvangen.
$header = "From: " . $uwemail . "\n";
mail($recipient, $subject, $mail_body, $header);
echo "<b>Uw bericht is succesvol verzonden</b>";
echo "<a class=\"main\" href='javascript:history.back(1)'>Ga terug</a>";
}
}
if(!empty($_POST['Submit2']))
{
if(!ereg("^[_a-zA-Z0-9-]+(\.[*@([a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$", $_POST['uwemail']))
{ $error_msg .="- Voer astublieft een geldig email adres in.<br>"; }
if(!empty($error_msg))
{
//Een van de velden werd niet goed ingevuld
echo "<b>Contact webmaster kon niet worden uitgevoerd door volgende redenen:</b><br><br>";
echo $error_msg;
echo "<br>Klik alstublieft op <a href=javascript:history.back(1)>Ga terug</a> en vul alle velden in.<br><br>";
}
else
{
$recipient = "[email protected]"; //Het email adres van de persoon die vragen moet ontvangen.
$header = "From: " . $uwemail . "\n";
mail($recipient, $subject, $mail_body, $header);
echo "<b>Uw bericht is succesvol verzonden</b>";
echo "<a class=\"main\" href='javascript:history.back(1)'>Ga terug</a>";
}
}
else
{
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" name="contact">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><br>
<table width="23%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="2">Email-adres :</td>
<td width="225" height="2" colspan="2"> <input type="text" name="uwemail" size="20">
<font size="2"> * </font></td>
</tr>
<tr>
</tr>
<tr>
<td width="93"> </td>
<td colspan="2"> <div align="left">
<input type="Submit" name="Submit" value="Inschrijven" />
<input type="Submit" name="Submit2" value="Uitschrijven" />
</div><div align="left"></div></td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
<tr>
<td> </td>
</tr>
</table>
</td>
</tr>
</table>
</form>
<?php
}
?>
?>
[code]<?php
if(!empty($_POST['Submit']))
{
if(!ereg("^[_a-zA-Z0-9-]+(\.[*@([a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$", $_POST['uwemail']))
{ $error_msg .="- Voer astublieft een geldig email adres in.<br>"; }
if(!empty($error_msg))
{
//Een van de velden werd niet goed ingevuld
echo "<b>Contact webmaster kon niet worden uitgevoerd door volgende redenen:</b><br><br>";
echo $error_msg;
echo "<br>Klik alstublieft op <a href=javascript:history.back(1)>Ga terug</a> en vul alle velden in.<br><br>";
}
else
{
$recipient = "[email protected]"; //Het email adres van de persoon die vragen moet ontvangen.
$header = "From: " . $uwemail . "\n";
mail($recipient, $subject, $mail_body, $header);
echo "<b>Uw bericht is succesvol verzonden</b>";
echo "<a class=\"main\" href='javascript:history.back(1)'>Ga terug</a>";
}
}
if(!empty($_POST['Submit2']))
{
if(!ereg("^[_a-zA-Z0-9-]+(\.[*@([a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$", $_POST['uwemail']))
{ $error_msg .="- Voer astublieft een geldig email adres in.<br>"; }
if(!empty($error_msg))
{
//Een van de velden werd niet goed ingevuld
echo "<b>Contact webmaster kon niet worden uitgevoerd door volgende redenen:</b><br><br>";
echo $error_msg;
echo "<br>Klik alstublieft op <a href=javascript:history.back(1)>Ga terug</a> en vul alle velden in.<br><br>";
}
else
{
$recipient = "[email protected]"; //Het email adres van de persoon die vragen moet ontvangen.
$header = "From: " . $uwemail . "\n";
mail($recipient, $subject, $mail_body, $header);
echo "<b>Uw bericht is succesvol verzonden</b>";
echo "<a class=\"main\" href='javascript:history.back(1)'>Ga terug</a>";
}
}
else
{
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" name="contact">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><br>
<table width="23%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="2">Email-adres :</td>
<td width="225" height="2" colspan="2"> <input type="text" name="uwemail" size="20">
<font size="2"> * </font></td>
</tr>
<tr>
</tr>
<tr>
<td width="93"> </td>
<td colspan="2"> <div align="left">
<input type="Submit" name="Submit" value="Inschrijven" />
<input type="Submit" name="Submit2" value="Uitschrijven" />
</div><div align="left"></div></td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
<tr>
<td> </td>
</tr>
</table>
</td>
</tr>
</table>
</form>
<?php
}
?>
?>
Gewijzigd op 30/06/2010 08:41:26 door Piet Haasrecht
Gewijzigd op 29/06/2010 15:10:56 door Roel -
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
// rest
?>
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
// rest
?>
Zie verder Mailheaders.
Gewijzigd op 29/06/2010 15:14:02 door - SanThe -
Notice: Undefined variable: uwemail in
test.php on line 18
Notice: Undefined variable: subject in
test.php on line 19
Notice: Undefined variable: mail_body in
test.php on line 19
Gewijzigd op 30/06/2010 08:45:43 door Piet Haasrecht
De variabelen $uwemail die gebruikt wordt op regel 18 is niet gedefinieerd (er zit geen waarde in)
De variabelen $subject die gebruikt wordt op regel 19 is niet gedefinieerd (er zit geen waarde in)
De variabelen $mail_body die gebruikt wordt op regel 19 is niet gedefinieerd (er zit geen waarde in)
Je moet zorgen dat er een waarde in zit.
Op regel 18 zie ik dat staan. maar voor deze regel zie ik nergens $uwemail voorkomen!
Dus wat je moet doen, is variablen zetten. ik neem aan dat je met @uwemail de inhoud van het tekstvak op regel 56 wil instellen. dan doe je gewoon zo:
$_POST['uwemail'];
En om $uwemail zo te maken, zet je gewoon ergens voor regel 18
$uwemail = $_POST['uwemail'];
Zo.
En ik raad je aan om op regel 2 even de variablen te zetten. bijv zo:
(lees de oranje tekst)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$uwemail = $_POST['uwemail'];
$subject = // de subject van je mail, ik weet niet of je die van een form af wil
// halen, of gewoon zelf het stukje tekst in het script wil schrijven
// maar als je hem uit een form wil halen, zet je hier
// $_POST['<!-- de naam van het veld waar je het uit wil halen-->'];
$mail_body = // hetzelfde als het stukje hierboven :-)
// en dan als je alle variablen gezet heb, enter dan een paar keer en begin dan met je code.
// houd het overzichtelijk, en overzichtelijkheid is belangerijk bij php.
if(!empty($_POST['Submit']))
{
if(!ereg("^[_a-zA-Z0-9-]+(\.[*@([a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$", $_POST['uwemail']))
// de rest van de code
?>
$uwemail = $_POST['uwemail'];
$subject = // de subject van je mail, ik weet niet of je die van een form af wil
// halen, of gewoon zelf het stukje tekst in het script wil schrijven
// maar als je hem uit een form wil halen, zet je hier
// $_POST['<!-- de naam van het veld waar je het uit wil halen-->'];
$mail_body = // hetzelfde als het stukje hierboven :-)
// en dan als je alle variablen gezet heb, enter dan een paar keer en begin dan met je code.
// houd het overzichtelijk, en overzichtelijkheid is belangerijk bij php.
if(!empty($_POST['Submit']))
{
if(!ereg("^[_a-zA-Z0-9-]+(\.[*@([a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$", $_POST['uwemail']))
// de rest van de code
?>
Ik raad je aan om nog even naar variabelen en naar Superglobals te kijken.
Gewijzigd op 30/06/2010 11:02:46 door Dalando De Zuil
Dank! als ik de variabele heb gezet dan doet hij het. Nogmaals bedankt voor jullie hulp!