register_globals
ik heb een script wat alleen werkte
met de register globals aan,
nu had ik al een post geopend
over hoe ik dit moest aanpassen,
en volgens mij ben ik nu klaar,
maar nu werkt het hele script niet
meer (althans de 1ste pagina die
ik heb aangepast)
de pagina blijft helemaal wit,
geen errors,
niks helemaal niks
EDIT:
paar enters, zodat het niet onder de reclame zat ^_^
EDIT 2:
Code in een volgende post gezet
Gewijzigd op 13/02/2006 20:07:00 door Huh bla
moet worden
moet worden
Je maakt gebruik van $Mailadres, de waarde moet je uit $_POST halen.
edit:
moet worden
moet worden
moet worden
Gewijzigd op 13/02/2006 20:06:00 door Martijn B
Kan dit ook komen door een ] te weinig of een $ te veel?
Waar komt die vandaan?
het is btw het adres waar het bevestigingsmailtje heen moet
werkt nog steeds niet :S
Gewijzigd op 13/02/2006 21:54:00 door Martijn B
still no effect, ik snap het echt niet meer :S
Luuk:
still no effect, ik snap het echt niet meer :S
het enige is wat ik kan vinden is:
fputs($NieuwsbriefB,"$_POST['Mailadres']\r\n");
moet worden:
fputs($NieuwsbriefB,$_POST['Mailadres']."\r\n");
Gewijzigd op 13/02/2006 22:22:00 door dennis
werkt nog niet, zit er ergens zo'n grote fout in dan :S
Ik heb hem nu een klein beetje aangepast zodat je weer verder kan... Check vooral dat email gebeuren.
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
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
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
<?php<?php
error_reporting(E_ALL);
//----------------------------------------
// Verander de gegevens hieronder:
$JouwWebsiteNaam = "jesitenaam";
// Jouw website naam
$JouwEmail = "je e-mail adres";
// Jouw e-mail adres
$DataBestand = "nieuwsbrief_data.php";
// De locatie van het databestand
$DitBestand = "127.0.0.1/psmail/nieuwsbrief.php";
// De url van dit bestand
?>
<html>
<head>
<title>niks</title>
</head>
<body>
<?php
// Begin functie om het e-mail adres te controleren
function ControleerEmail($a)
{
return ereg("[A-Za-z0-9_-]+([\.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([\.]{1}[A-Za-z0-9-]+)+",$a);
}
// Einde functie om het e-mail adres te controleren
$NieuwsbriefData = file($DataBestand);
if(isset($_POST['actie']))
{
if($_POST['actie'] == 'aanmelden')
{
if(isset($_POST['Mailadres']))
{
for($i = 0; $i < count($NieuwsbriefData); $i++)
{
if(strstr($NieuwsbriefData[$i],$_POST['Mailadres']))
{
$alinlijst = true;
}
}
if(isset($alinlijst))
{
echo '<b>Het e-mail adres staat al in de lijst!</b><br><br>';
}
elseif(!ControleerEmail($_POST['Mailadres']))
{
echo("<b>Het e-mail adres is ongeldig!</b><br><br>");
}
else
{
$NieuwsbriefB = fopen($DataBestand,"a");
fputs($NieuwsbriefB,$_POST['Mailadres']."\r\n");
fclose($NieuwsbriefB);
mail('<$Mailadres>',
'Aanmelding Nieuwsbrief $JouwWebsiteNaam',
'Beste eigenaar van $Mailadres,
\n
\n
U of iemand anders heeft dit e-mail adres
\n
aangemeld bij de Nieuwsbrief van $JouwWebsiteNaam.
\n
Wilt u dit ongedaan maken, dan kan dit op
\n
$DitBestand.
\n
\n
$JouwWebsiteNaam',
'From: $JouwWebsiteNaam <$JouwEmail>');
echo("<b>Het e-mail adres is succesvol aangemeld!</b><br><br>");
}
}
else
{
echo("<b>Je hebt geen e-mail adres ingevuld!</b><br><br>");
}
}
elseif($_POST['actie'] == "afmelden")
{
if($_POST['Mailadres'])
{
$NieuwsbriefB = fopen($DataBestand,"w");
for($i = 0; $i < count($NieuwsbriefData); $i++)
{
if(!strstr($NieuwsbriefData[$i],$Mailadres))
{
fputs($NieuwsbriefB,$NieuwsbriefData[$i]);
}
else
{
$gelukt = true;
}
}
fclose($NieuwsbriefB);
if($gelukt)
{
mail('<$Mailadres>',
'Afmelding Nieuwsbrief $JouwWebsiteNaam',
'Beste eigenaar van $Mailadres,
\n
\n
U of iemand anders heeft dit e-mail adres
\n
afgemeld bij de Nieuwsbrief van $JouwWebsiteNaam.
\n
Wilt u dit ongedaan maken, dan kan dit op
\n
$DitBestand.
\n
\n
$JouwWebsiteNaam',
'From: $JouwWebsiteNaam <$JouwEmail>');
echo('<b>Het e-mail is succesvol afgemeld!</b><br><br>');
}
else
{
echo('<b>Het e-mail is niet gevonden!<br>Probeer het opnieuw.</b><br><br>');
}
}
else
{
echo("<b>Je hebt geen e-mail adres ingevuld!</b><br><br>");
}
}
}
?>
<form method='post'>
E-mail adres: <input type='text' name='Mailadres'><br>
<input type='radio' name='actie' value='aanmelden' checked> Aanmelden <input type='radio' name='actie' value='afmelden'> Afmelden<br><br>
<input type='submit' value='Verstuur'>
</form>
</body>
</html>
error_reporting(E_ALL);
//----------------------------------------
// Verander de gegevens hieronder:
$JouwWebsiteNaam = "jesitenaam";
// Jouw website naam
$JouwEmail = "je e-mail adres";
// Jouw e-mail adres
$DataBestand = "nieuwsbrief_data.php";
// De locatie van het databestand
$DitBestand = "127.0.0.1/psmail/nieuwsbrief.php";
// De url van dit bestand
?>
error_reporting(E_ALL);
//----------------------------------------
// Verander de gegevens hieronder:
$JouwWebsiteNaam = "jesitenaam";
// Jouw website naam
$JouwEmail = "je e-mail adres";
// Jouw e-mail adres
$DataBestand = "nieuwsbrief_data.php";
// De locatie van het databestand
$DitBestand = "127.0.0.1/psmail/nieuwsbrief.php";
// De url van dit bestand
?>
<html>
<head>
<title>niks</title>
</head>
<body>
<?php
// Begin functie om het e-mail adres te controleren
function ControleerEmail($a)
{
return ereg("[A-Za-z0-9_-]+([\.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([\.]{1}[A-Za-z0-9-]+)+",$a);
}
// Einde functie om het e-mail adres te controleren
$NieuwsbriefData = file($DataBestand);
if(isset($_POST['actie']))
{
if($_POST['actie'] == 'aanmelden')
{
if(isset($_POST['Mailadres']))
{
for($i = 0; $i < count($NieuwsbriefData); $i++)
{
if(strstr($NieuwsbriefData[$i],$_POST['Mailadres']))
{
$alinlijst = true;
}
}
if(isset($alinlijst))
{
echo '<b>Het e-mail adres staat al in de lijst!</b><br><br>';
}
elseif(!ControleerEmail($_POST['Mailadres']))
{
echo("<b>Het e-mail adres is ongeldig!</b><br><br>");
}
else
{
$NieuwsbriefB = fopen($DataBestand,"a");
fputs($NieuwsbriefB,$_POST['Mailadres']."\r\n");
fclose($NieuwsbriefB);
mail('<$Mailadres>',
'Aanmelding Nieuwsbrief $JouwWebsiteNaam',
'Beste eigenaar van $Mailadres,
\n
\n
U of iemand anders heeft dit e-mail adres
\n
aangemeld bij de Nieuwsbrief van $JouwWebsiteNaam.
\n
Wilt u dit ongedaan maken, dan kan dit op
\n
$DitBestand.
\n
\n
$JouwWebsiteNaam',
'From: $JouwWebsiteNaam <$JouwEmail>');
echo("<b>Het e-mail adres is succesvol aangemeld!</b><br><br>");
}
}
else
{
echo("<b>Je hebt geen e-mail adres ingevuld!</b><br><br>");
}
}
elseif($_POST['actie'] == "afmelden")
{
if($_POST['Mailadres'])
{
$NieuwsbriefB = fopen($DataBestand,"w");
for($i = 0; $i < count($NieuwsbriefData); $i++)
{
if(!strstr($NieuwsbriefData[$i],$Mailadres))
{
fputs($NieuwsbriefB,$NieuwsbriefData[$i]);
}
else
{
$gelukt = true;
}
}
fclose($NieuwsbriefB);
if($gelukt)
{
mail('<$Mailadres>',
'Afmelding Nieuwsbrief $JouwWebsiteNaam',
'Beste eigenaar van $Mailadres,
\n
\n
U of iemand anders heeft dit e-mail adres
\n
afgemeld bij de Nieuwsbrief van $JouwWebsiteNaam.
\n
Wilt u dit ongedaan maken, dan kan dit op
\n
$DitBestand.
\n
\n
$JouwWebsiteNaam',
'From: $JouwWebsiteNaam <$JouwEmail>');
echo('<b>Het e-mail is succesvol afgemeld!</b><br><br>');
}
else
{
echo('<b>Het e-mail is niet gevonden!<br>Probeer het opnieuw.</b><br><br>');
}
}
else
{
echo("<b>Je hebt geen e-mail adres ingevuld!</b><br><br>");
}
}
}
?>
<form method='post'>
E-mail adres: <input type='text' name='Mailadres'><br>
<input type='radio' name='actie' value='aanmelden' checked> Aanmelden <input type='radio' name='actie' value='afmelden'> Afmelden<br><br>
<input type='submit' value='Verstuur'>
</form>
</body>
</html>
error_reporting(E_ALL);
//----------------------------------------
// Verander de gegevens hieronder:
$JouwWebsiteNaam = "jesitenaam";
// Jouw website naam
$JouwEmail = "je e-mail adres";
// Jouw e-mail adres
$DataBestand = "nieuwsbrief_data.php";
// De locatie van het databestand
$DitBestand = "127.0.0.1/psmail/nieuwsbrief.php";
// De url van dit bestand
?>
<html>
<head>
<title>niks</title>
</head>
<body>
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
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
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
<?php
// Begin functie om het e-mail adres te controleren
function ControleerEmail($a)
{
return ereg("[A-Za-z0-9_-]+([\.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([\.]{1}[A-Za-z0-9-]+)+",$a);
}
// Einde functie om het e-mail adres te controleren
$NieuwsbriefData = file($DataBestand);
if(isset($_POST['actie']))
{
if($_POST['actie'] == 'aanmelden')
{
if($_POST['Mailadres'])
{
for($i = 0; $i < count($NieuwsbriefData); $i++)
{
if(strstr($NieuwsbriefData[$i],$_POST['Mailadres']))
{
$alinlijst = true;
}
}
if(isset($alinlijst))
{
echo '<b>Het e-mail adres staat al in de lijst!</b><br><br>';
}
elseif(!ControleerEmail($_POST['Mailadres']))
{
echo("<b>Het e-mail adres is ongeldig!</b><br><br>");
}
else
{
$NieuwsbriefB = fopen($DataBestand,"a");
fputs($NieuwsbriefB,$_POST['Mailadres']."\r\n");
fclose($NieuwsbriefB);
mail('<$Mailadres>',
'Aanmelding Nieuwsbrief $JouwWebsiteNaam',
'Beste eigenaar van $Mailadres,
\n
\n
U of iemand anders heeft dit e-mail adres
\n
aangemeld bij de Nieuwsbrief van $JouwWebsiteNaam.
\n
Wilt u dit ongedaan maken, dan kan dit op
\n
$DitBestand.
\n
\n
$JouwWebsiteNaam',
'From: $JouwWebsiteNaam <$JouwEmail>');
echo("<b>Het e-mail adres is succesvol aangemeld!</b><br><br>");
}
}
else
{
echo("<b>Je hebt geen e-mail adres ingevuld!</b><br><br>");
}
}
elseif($_POST['actie'] == "afmelden")
{
if($_POST['Mailadres'])
{
$NieuwsbriefB = fopen($DataBestand,"w");
for($i = 0; $i < count($NieuwsbriefData); $i++)
{
if(!strstr($NieuwsbriefData[$i],$Mailadres))
{
fputs($NieuwsbriefB,$NieuwsbriefData[$i]);
}
else
{
$gelukt = true;
}
}
fclose($NieuwsbriefB);
if($gelukt)
{
mail('<$Mailadres>',
'Afmelding Nieuwsbrief $JouwWebsiteNaam',
'Beste eigenaar van $Mailadres,
\n
\n
U of iemand anders heeft dit e-mail adres
\n
afgemeld bij de Nieuwsbrief van $JouwWebsiteNaam.
\n
Wilt u dit ongedaan maken, dan kan dit op
\n
$DitBestand.
\n
\n
$JouwWebsiteNaam',
'From: $JouwWebsiteNaam <$JouwEmail>');
echo('<b>Het e-mail is succesvol afgemeld!</b><br><br>');
}
else
{
echo('<b>Het e-mail is niet gevonden!<br>Probeer het opnieuw.</b><br><br>');
}
}
else
{
echo("<b>Je hebt geen e-mail adres ingevuld!</b><br><br>");
}
}
}
?>
// Begin functie om het e-mail adres te controleren
function ControleerEmail($a)
{
return ereg("[A-Za-z0-9_-]+([\.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([\.]{1}[A-Za-z0-9-]+)+",$a);
}
// Einde functie om het e-mail adres te controleren
$NieuwsbriefData = file($DataBestand);
if(isset($_POST['actie']))
{
if($_POST['actie'] == 'aanmelden')
{
if($_POST['Mailadres'])
{
for($i = 0; $i < count($NieuwsbriefData); $i++)
{
if(strstr($NieuwsbriefData[$i],$_POST['Mailadres']))
{
$alinlijst = true;
}
}
if(isset($alinlijst))
{
echo '<b>Het e-mail adres staat al in de lijst!</b><br><br>';
}
elseif(!ControleerEmail($_POST['Mailadres']))
{
echo("<b>Het e-mail adres is ongeldig!</b><br><br>");
}
else
{
$NieuwsbriefB = fopen($DataBestand,"a");
fputs($NieuwsbriefB,$_POST['Mailadres']."\r\n");
fclose($NieuwsbriefB);
mail('<$Mailadres>',
'Aanmelding Nieuwsbrief $JouwWebsiteNaam',
'Beste eigenaar van $Mailadres,
\n
\n
U of iemand anders heeft dit e-mail adres
\n
aangemeld bij de Nieuwsbrief van $JouwWebsiteNaam.
\n
Wilt u dit ongedaan maken, dan kan dit op
\n
$DitBestand.
\n
\n
$JouwWebsiteNaam',
'From: $JouwWebsiteNaam <$JouwEmail>');
echo("<b>Het e-mail adres is succesvol aangemeld!</b><br><br>");
}
}
else
{
echo("<b>Je hebt geen e-mail adres ingevuld!</b><br><br>");
}
}
elseif($_POST['actie'] == "afmelden")
{
if($_POST['Mailadres'])
{
$NieuwsbriefB = fopen($DataBestand,"w");
for($i = 0; $i < count($NieuwsbriefData); $i++)
{
if(!strstr($NieuwsbriefData[$i],$Mailadres))
{
fputs($NieuwsbriefB,$NieuwsbriefData[$i]);
}
else
{
$gelukt = true;
}
}
fclose($NieuwsbriefB);
if($gelukt)
{
mail('<$Mailadres>',
'Afmelding Nieuwsbrief $JouwWebsiteNaam',
'Beste eigenaar van $Mailadres,
\n
\n
U of iemand anders heeft dit e-mail adres
\n
afgemeld bij de Nieuwsbrief van $JouwWebsiteNaam.
\n
Wilt u dit ongedaan maken, dan kan dit op
\n
$DitBestand.
\n
\n
$JouwWebsiteNaam',
'From: $JouwWebsiteNaam <$JouwEmail>');
echo('<b>Het e-mail is succesvol afgemeld!</b><br><br>');
}
else
{
echo('<b>Het e-mail is niet gevonden!<br>Probeer het opnieuw.</b><br><br>');
}
}
else
{
echo("<b>Je hebt geen e-mail adres ingevuld!</b><br><br>");
}
}
}
?>
<form method='post'>
E-mail adres: <input type='text' name='Mailadres'><br>
<input type='radio' name='actie' value='aanmelden' checked> Aanmelden <input type='radio' name='actie' value='afmelden'> Afmelden<br><br>
<input type='submit' value='Verstuur'>
</form>
</body>
</html>
je hebt hem 2x achter elkaar gepost, is dat een foutje, of niet
Ging iets fout, pak de eerste maar.
nog maar 1 foutje,
Warning: strstr(): Empty delimiter. in c:\phpdev\www\psmail\nieuwsbrief.php on line 38
Warning: strstr(): Empty delimiter. in c:\phpdev\www\psmail\nieuwsbrief.php on line 38
krijg ik als ik geen e-mail adres invul bij aanmelden, afmelden werkt wel goed
Nu ga ik de andere pagina proberen aan te passen (A) (als dat maar goed gaat :-p)
EDIT:
oeps, vergeten te vermelden wat line 38 is,
line 38 is if(strstr($NieuwsbriefData[$i],$_POST['Mailadres']))
Gewijzigd op 14/02/2006 17:30:00 door Huh bla
iemand?
Omdat je geen email-adres opgeeft, gebruik je een lege string om in je data te zoeken. Dat vindt strstr() niet leuk, omdat een lege string overal kan matchen.
De melding kun je omzeilen door je if ($_POST['mailadres']) te veranderen in iets als
if (isset($_POST['mailadres']) && ($_POST['mailadres'] != ''))
In dat geval wordt het blok code waar strstr() in staat alleen doorlopen als je daadwerkelijk iets invult als mailadres.
[email protected] of zoiets).
Je zou dan een functie is_emailaddr() kunnen aanmaken die true teruggeeft als het een goed adres is, en false als het op bagger lijkt.
Volgens mij zijn er in het verleden verschillende topics geweest waarin wordt besproken hoe je een emailadres kunt controleren, dus als dit je iets lijkt, laat ik het je eerst zelf proberen ;-)
Overigens is het nu mogelijk om een email-adres als "478trjksvk" op te geven. Nóg mooier zou het daarom zijn als je niet alleen kijkt of er iets is ingevuld, maar ook meteen kijkt of het een geldig email-adres zou kunnen zijn (dus het moet voldoen aan het formaat Je zou dan een functie is_emailaddr() kunnen aanmaken die true teruggeeft als het een goed adres is, en false als het op bagger lijkt.
Volgens mij zijn er in het verleden verschillende topics geweest waarin wordt besproken hoe je een emailadres kunt controleren, dus als dit je iets lijkt, laat ik het je eerst zelf proberen ;-)
als iemand asdfdsf opgeeft, komt er te staan dat het e-mail adres ongeldig is
verder is de error weg, met jou code, maar i.p.v. dat er nu komt te staan "geen e-mail ingevult" als er geen e-mail adres is ingevult, komt er te staan "e-mail adres ongeldig" maar daar kan ik wel mee leven ;-)
en waarschijnlijk is dit de laatste error:
Notice: Undefined variable: gelukt in c:\phpdev\www\psmail\nieuwsbrief.php on line 97
dit krijg ik als ik een nep e-mail adres invul bij afmelden (dus niet bij aanmelden)
line 97 is:
if($gelukt)