mail function wil niet werken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Johan

johan

09/09/2008 20:12:00
Quote Anchor link
kan iemand me helpen met dit script?

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>


met vrienddelijke groeten johan
 
PHP hulp

PHP hulp

25/11/2024 05:29:40
 
Ivo K

Ivo K

09/09/2008 20:35:00
Quote Anchor link
is je mailserver in orde ?
 
Noppes

Noppes

09/09/2008 20:36:00
Quote Anchor link
Dat is het probleem niet

er treed ergens een appel peer vergelijking op in ene if statement
 
W W

W W

09/09/2008 20:38:00
Quote Anchor link
gebruik mail swift
 
Noppes

Noppes

09/09/2008 20:42:00
Quote Anchor link
Dat snapt ie niet en is in z'n ogen te hoog gegrepen, hoewel er uitstekende documentatie en voorbeelden te vinden zijn
 
Ivo K

Ivo K

09/09/2008 20:54:00
Quote Anchor link
misschien helpt het als hij ff zegt wat er precies gezegd wordt als error
 
Noppes

Noppes

09/09/2008 21:02:00
Quote Anchor link
die krijgt ie waarschijnlijk niet omdat ie niet afweet van:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
?>

boven aan elk script plaatsen..........
 
Johan

johan

09/09/2008 21:11:00
Quote Anchor link
blijkbaar zaten er een hoop fouten in maar met een beetje hulp heb ik het al een beetje kunnen verbeteren

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>
 
Ivo K

Ivo K

09/09/2008 21:14:00
Quote Anchor link
Je schreef dat je iets niet snapte,

dat stukje haalt de waarde van verzendbutton op en kijkt vervolgens of het NIET gelijk is aan 'verzenden'
 
Johan

johan

09/09/2008 21:17:00
Quote Anchor link
dus dat controleert of het word verzonden?

een overbodige functie dus?
 
Ivo K

Ivo K

09/09/2008 21:18:00
Quote Anchor link
nee, het controleert of de waarde van een input verzenden is, niet of er word verzonden
 
Noppes

Noppes

09/09/2008 21:21:00
Quote Anchor link
nee

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?
$gegevens_a
["Username"]=$Username;
$gegevens_a["Password"]=$Password;
?>


en

zoek eens wat op over:
SQL-injection

Maak ook geen overbodige variabelen aan

Elke logica in dit script ontbreekt......
 
Johan

johan

09/09/2008 21:23:00
Quote Anchor link
ik ben dan ook nog maar een beginner en weet dus niet wat de logica is

je leest op het internet zoveel verschillende script en ik heb zo het gevoel dat er meer foute zijn dan juiste
 
Noppes

Noppes

09/09/2008 21:44:00
Quote Anchor link
De basis welke ik hanteer

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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.