register globals script
ik heb een script wat alleen werkt met de register globals aan, nu wil ik dat omzetten zodat het ook werkt met registerglobals uit.
kunnen jullie mij hierbij helpen (jullie hoeven het script echt niet helemaal om te gaan zetten). Maar ik ben nog niet zo heel erg goed met php, dus ik weet niet hoe ik moet beginnen.
EDIT: pagina's verwijderd, heb hieronder 1 pagina gepost, en vond het onzin om de oude erop te laten staan, des te groter word de pagina
Gewijzigd op 12/02/2006 12:56:00 door Huh bla
$JouwEmail
worden dan:
$_POST['JouwWebsiteNaam'];
$_POST['JouwEmail'];
of als je toch $JouwEmail wilt blijven gebruiken:
$JouwEmail = $_POST['JouwEmail'];
$Mailadres wordt $_POST['Mailadres']
en
$actie wordt $_POST['actie']
Dus bijvoorbeeld
if($actie == "versturen"){
wordt dan
if($_POST['actie'] == "versturen") {
succes
maar waar komt dan die post vandaa, het is toch een waarde die ik eerder al heb opgegeven :S
Door method="post" worden alle velden bij het versturen van de pagina opgenomen in de $_POST array.
'>
<input type='hidden' name='gebruikersnaam' value=''>
moet dan worden
<input type='hidden' name='wachtwoord' value=''>
<input type='hidden' name='gebruikersnaam' value=''>
edit:
toch?
<input type='hidden' name='wachtwoord' value='<input type='hidden' name='gebruikersnaam' value=''>
moet dan worden
<input type='hidden' name='wachtwoord' value=''>
<input type='hidden' name='gebruikersnaam' value=''>
edit:
toch?
Gewijzigd op 12/02/2006 00:28:00 door Huh bla
<input type='hidden' name='wachtwoord' value=''>
<input type='hidden' name='gebruikersnaam' value=''>
en waar moet dat allemaal gebeuren?
Alle waardes die uit je formulier komen, die worden in PHP opgeslagen als $_POST['deNaam']. Dus overal waar je input uit het formulier gebruikt moet je $_POST gebruiken :)
Tip:
Gebruik if($_SERVER['REQUEST_METHOD'] == "POST")
dan weet je zeker dat de data die je binnen krijgt uit het formulier komt, en niet ergens anders vandaan.
thx, dat ga ik is gebruiken
@willem-Jan
???
Niet teveel meer op mijn bericht letten, heb nogal wat berichten gemist... Ik reageerde nog op Edwin Gozeling...
oke, ^_^
het lukt me niet, het script blijft maar niet werken :'(
<html>
<head>
<title>Nieuwsbrief verzenden</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
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
<?php
//dit moet je ff veranderen
$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
//vanaf hier niks meer ;-)
// 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($_POST['actie'] == "versturen"){
if($_POST['Mailadres']) {
for($i = 0; $i < count($NieuwsbriefData); $i++) {
if(strstr($NieuwsbriefData[$i],$_POST['Mailadres'])) {
$alinlijst = true;
}
}
if($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,"$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],$_POST['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>");
}
}
?>
//dit moet je ff veranderen
$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
//vanaf hier niks meer ;-)
// 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($_POST['actie'] == "versturen"){
if($_POST['Mailadres']) {
for($i = 0; $i < count($NieuwsbriefData); $i++) {
if(strstr($NieuwsbriefData[$i],$_POST['Mailadres'])) {
$alinlijst = true;
}
}
if($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,"$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],$_POST['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="checked">Aanmelden
<input type='radio' name='actie' value='afmelden'>Afmelden
<br>
<br>
<input type='submit' value='Verstuur'>
</form>
</body>
</html>
sombady (A) ;-)
weet niemand waar de fout zit?
Zeg dan wat de error is..
nou heb dit geprobeerd met de tips van hierboven, maar het werkt niet. nog steeds werkt het niet als de register_globals uit staan...
Als je de error_reporting(E_ALL); bovenin je script zet krijg je ook de notices te zien en die geven vaak aan welke $vars nog niet zijn gedefinieerd of dus misschien met globals te maken hebben.