mail function wil niet werken
de bedoeling is dat er een mail gestuurd word naar het mailadres dat ingegeven word (dit mailadres moet wel voorkomen in de database)
in de mail moeten de Username en het Password komen te staan die hij dus ook moet ophalen uit de database
volgens mij doe ik ergens iets zeer verkeerd is er iemand die me kan helpen en me duidelijk kan uitleggen hoe ik dit moet doen op de juiste manier?
dit is 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
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
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
<?php
require "mysqldb.php";
?>
<html>
<head>
<link rel="stylesheet" href="opmaak.css" type="text/css" />
</head>
<body>
<?php
$verzendbutton=$_POST["verzendbutton"];
if ($verzendbutton != "verzenden") {
?>
<form method="post" action="inloggen.php">
<table border="1" width="400" align="center">
<tr>
<td colspan="2" align="center"><h3>Wachtwoord vergeten</h3>
</td>
</tr>
<tr height="20">
<td>
</td>
</tr>
<tr>
<td width="70" align="right">
<h2>E-mail:
</h2>
</td>
<td><input type="text" size="50" name="email">
</td>
</tr>
<tr>
<td>
</td>
<td><input type="submit" name="verzendbutton" value="verzenden" style="color: #008080;">
<tr>
<td colspan="2">
<h5>
Er word een e-mail vestuurt naar het ingegeven email adres met de juiste gegevens.
</h5>
</td>
</tr>
</table>
</form>
<?php
} else {
$email=$_POST["email"];
$sql="SELECT email FROM leden WHERE email='$email'";
$result=mysql_query($sql);
if ($result == $email) {
$sql_a="SELECT Username FROM leden WHERE email='$email'";
$result_a=mysql_query($sql_a);
$result_a=$Username;
$sql_b="SELECT Password FROM leden WHERE email='$email'";
$result_b=mysql_query($sql_b);
$result_b=$Password;
$boodschap= "hallo\n";
$boodschap.="Uw username is: $Username\n";
$boodschap.="Uw wachtwoord is: $Password\n";
$boodschap.="dank u";
$subject="Inloggegevens";
$ok = mail($email, $subject, $boodschap);
if (!$ok) {
echo "De mail kon niet verzonden worden!";
}
} else {
echo "Dit emailadres is ons niet bekend!";
}
}
?>
</body>
</html>
require "mysqldb.php";
?>
<html>
<head>
<link rel="stylesheet" href="opmaak.css" type="text/css" />
</head>
<body>
<?php
$verzendbutton=$_POST["verzendbutton"];
if ($verzendbutton != "verzenden") {
?>
<form method="post" action="inloggen.php">
<table border="1" width="400" align="center">
<tr>
<td colspan="2" align="center"><h3>Wachtwoord vergeten</h3>
</td>
</tr>
<tr height="20">
<td>
</td>
</tr>
<tr>
<td width="70" align="right">
<h2>E-mail:
</h2>
</td>
<td><input type="text" size="50" name="email">
</td>
</tr>
<tr>
<td>
</td>
<td><input type="submit" name="verzendbutton" value="verzenden" style="color: #008080;">
<tr>
<td colspan="2">
<h5>
Er word een e-mail vestuurt naar het ingegeven email adres met de juiste gegevens.
</h5>
</td>
</tr>
</table>
</form>
<?php
} else {
$email=$_POST["email"];
$sql="SELECT email FROM leden WHERE email='$email'";
$result=mysql_query($sql);
if ($result == $email) {
$sql_a="SELECT Username FROM leden WHERE email='$email'";
$result_a=mysql_query($sql_a);
$result_a=$Username;
$sql_b="SELECT Password FROM leden WHERE email='$email'";
$result_b=mysql_query($sql_b);
$result_b=$Password;
$boodschap= "hallo\n";
$boodschap.="Uw username is: $Username\n";
$boodschap.="Uw wachtwoord is: $Password\n";
$boodschap.="dank u";
$subject="Inloggegevens";
$ok = mail($email, $subject, $boodschap);
if (!$ok) {
echo "De mail kon niet verzonden worden!";
}
} else {
echo "Dit emailadres is ons niet bekend!";
}
}
?>
</body>
</html>
met vrienddelijke groeten johan
is je mailserver in orde ?
er treed ergens een appel peer vergelijking op in ene if statement
gebruik mail swift
Dat snapt ie niet en is in z'n ogen te hoog gegrepen, hoewel er uitstekende documentatie en voorbeelden te vinden zijn
misschien helpt het als hij ff zegt wat er precies gezegd wordt als error
boven aan elk script plaatsen..........
met mijn mail funtie is normaal niets mis want in een ander script gebruik ik dezelfde functi en daar doet hij het perfect
dit is het aangepaste script
ik zet er commentaar bij met wat ik wil dat hij doet om het zo duidelijker te maken
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
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
<?php
require "mysqldb.php";
// maakt connectie met de database
?>
<html>
<head>
<link rel="stylesheet" href="opmaak.css" type="text/css" />
</head>
<body>
<?php
$verzendbutton=$_POST["verzendbutton"];
if ($verzendbutton != "verzenden") {
// dit snap ik eigenlijk niet ik heb het overgenomen uit een ander script dient het om te zien om hij wel verzend?
?>
<form method="post" action="inloggen.php">
<table border="1" width="400" align="center">
<tr>
<td colspan="2" align="center"><h3>Wachtwoord vergeten</h3>
</td>
</tr>
<tr height="20">
<td>
</td>
</tr>
<tr>
<td width="70" align="right">
<h2>E-mail:
</h2>
</td>
<td><input type="text" size="50" name="email">
</td>
</tr>
<tr>
<td>
</td>
<td><input type="submit" name="verzendbutton" value="verzenden" style="color: #008080;">
<tr>
<td colspan="2">
<h5>
Er word een e-mail vestuurt naar het ingegeven email adres met de juiste gegevens.
</h5>
</td>
</tr>
</table>
</form>
<?php
} else {
// hier haalt hij het email adres uit de database en zet ik het in een variabele
$sql="SELECT email FROM leden WHERE email='$email'";
$result=mysql_query($sql);
while($gegevens=mysql_fetch_assoc($result)){
$gegevens["email"]=$email;
}
//wanneer dan de email die opgehaald word uit de database gelijk is aan de email die gepost word dan moet hij de mail functie uitvoeren
if ($email == $_POST["email"]) {
$email_a=$_POST["email"];
$sql_a="SELECT Username, Password FROM leden WHERE email='$email'";
$result_a=mysql_query($sql_a);
while($gegevens_a=mysql_fetch_assoc($result_a)){
$gegevens_a["Username"]=$Username;
$gegevens_a["Password"]=$Password;
// dit dient om de username en het password op te halen uit de database en zet deze om in een variabele om deze te tonen in de mail
}
$boodschap= "hallo,\n";
$boodschap.="Uw username is: $Username\n";
$boodschap.="Uw wachtwoord is: $Password\n";
$boodschap.="dank u";
$subject="Inloggegevens";
$ok = mail($email_a, $subject, $boodschap);
if (!$ok) {
echo "De mail kon niet verzonden worden!";
}
} else {
echo "Dit emailadres is ons niet bekend!";
// wanneer het emailadres niet voorkomt in de database deze echo weergeven
echo mysql_error();
}
}
?>
</body>
</html>
require "mysqldb.php";
// maakt connectie met de database
?>
<html>
<head>
<link rel="stylesheet" href="opmaak.css" type="text/css" />
</head>
<body>
<?php
$verzendbutton=$_POST["verzendbutton"];
if ($verzendbutton != "verzenden") {
// dit snap ik eigenlijk niet ik heb het overgenomen uit een ander script dient het om te zien om hij wel verzend?
?>
<form method="post" action="inloggen.php">
<table border="1" width="400" align="center">
<tr>
<td colspan="2" align="center"><h3>Wachtwoord vergeten</h3>
</td>
</tr>
<tr height="20">
<td>
</td>
</tr>
<tr>
<td width="70" align="right">
<h2>E-mail:
</h2>
</td>
<td><input type="text" size="50" name="email">
</td>
</tr>
<tr>
<td>
</td>
<td><input type="submit" name="verzendbutton" value="verzenden" style="color: #008080;">
<tr>
<td colspan="2">
<h5>
Er word een e-mail vestuurt naar het ingegeven email adres met de juiste gegevens.
</h5>
</td>
</tr>
</table>
</form>
<?php
} else {
// hier haalt hij het email adres uit de database en zet ik het in een variabele
$sql="SELECT email FROM leden WHERE email='$email'";
$result=mysql_query($sql);
while($gegevens=mysql_fetch_assoc($result)){
$gegevens["email"]=$email;
}
//wanneer dan de email die opgehaald word uit de database gelijk is aan de email die gepost word dan moet hij de mail functie uitvoeren
if ($email == $_POST["email"]) {
$email_a=$_POST["email"];
$sql_a="SELECT Username, Password FROM leden WHERE email='$email'";
$result_a=mysql_query($sql_a);
while($gegevens_a=mysql_fetch_assoc($result_a)){
$gegevens_a["Username"]=$Username;
$gegevens_a["Password"]=$Password;
// dit dient om de username en het password op te halen uit de database en zet deze om in een variabele om deze te tonen in de mail
}
$boodschap= "hallo,\n";
$boodschap.="Uw username is: $Username\n";
$boodschap.="Uw wachtwoord is: $Password\n";
$boodschap.="dank u";
$subject="Inloggegevens";
$ok = mail($email_a, $subject, $boodschap);
if (!$ok) {
echo "De mail kon niet verzonden worden!";
}
} else {
echo "Dit emailadres is ons niet bekend!";
// wanneer het emailadres niet voorkomt in de database deze echo weergeven
echo mysql_error();
}
}
?>
</body>
</html>
dat stukje haalt de waarde van verzendbutton op en kijkt vervolgens of het NIET gelijk is aan 'verzenden'
een overbodige functie dus?
nee, het controleert of de waarde van een input verzenden is, niet of er word verzonden
Code (php)
1
2
3
4
5
2
3
4
5
<?php
if ($_SERVER['REQUEST_METHOD']=='POST') {
// dit is de enige juiste manier waarop je een form method POST controleerd
}
?>
if ($_SERVER['REQUEST_METHOD']=='POST') {
// dit is de enige juiste manier waarop je een form method POST controleerd
}
?>
voor de rest wat is dit voor ongijn:
en
zoek eens wat op over:
SQL-injection
Maak ook geen overbodige variabelen aan
Elke logica in dit script ontbreekt......
je leest op het internet zoveel verschillende script en ik heb zo het gevoel dat er meer foute zijn dan juiste
1. sessie starten indien van toepassing
2. includen van functies en classes
3. database connectie maken indien van toepassing
4. variabelen van buiten controleren
4.1. iets doen met uitkomst van die controle
4.2. benodigde info vergaren voor output naar browser
5. output naar browser