Ik snap er nix van??
Ik heb een login script:
register.php:
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
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
<?
function mkpass()
{
$letters = array();
$tekens['klein'] = range('a','z');
$tekens['groot'] = range('A','Z');
$tekens['cijfers'] = range(0,9);
foreach($tekens['klein'] as $k => $v)
{
array_push($letters, $v);
}
foreach($tekens['groot'] as $k => $v)
{
array_push($letters, $v);
}
foreach($tekens['cijfers'] as $k => $v)
{
array_push($letters, $v);
}
$aantal = count($letters)-1;
return $letters[rand(0,$aantal)] . $letters[rand(0,$aantal)] . $letters[rand(0,$aantal)] . $letters[rand(0,$aantal)] . $letters[rand(0,$aantal)] . $letters[rand(0,$aantal)] . $letters[rand(0,$aantal)] . $letters[rand(0,$aantal)];
}
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
if(empty($_POST['login_name']) OR empty($_POST['email']))
{
exit("<h1>Error</h1>\n<p>U heeft niet alles ingevuld!</p>\n");
}
else
{
$username = addslashes(htmlspecialchars($_POST['login_name']));
$password = mkpass();
$email = $_POST['email'];
if(file_exists('members/' . $username . '.php'))
{
exit("<h1>Ongeldige gebruikersnaam</h1>\n<p>Gebruikersnaam bestaat al!</p>\n");
}
else
{
include('config.php');
$onderwerp = "Registration at " . $website;
$bericht = "
Welcome to " . $website . "\n\nPlease keep this email for your records. Your account information is as follows:\n\n----------------------------\nUsername: " . $username . "\nPassword: " . $password . "\n----------------------------\n\nThank you for registering.";
mail($email, $onderwerp, $bericht, "From: " . $afzender . "\nX-Mailer: PHP/" . phpversion(), "-f " . $afzender);
$handle = fopen('members/' . $username . '.php','w');
fwrite($handle, "<?\n \$password = \"" . md5($password) . "\";\n \$email = \"" . $email . "\";\n ?>");
fclose($handle);
echo "<h1>Succes</h1>\n<p>Controleer mail voor uw activatie wachtwoord!</p>\n";
}
}
}
else
{
?>
function mkpass()
{
$letters = array();
$tekens['klein'] = range('a','z');
$tekens['groot'] = range('A','Z');
$tekens['cijfers'] = range(0,9);
foreach($tekens['klein'] as $k => $v)
{
array_push($letters, $v);
}
foreach($tekens['groot'] as $k => $v)
{
array_push($letters, $v);
}
foreach($tekens['cijfers'] as $k => $v)
{
array_push($letters, $v);
}
$aantal = count($letters)-1;
return $letters[rand(0,$aantal)] . $letters[rand(0,$aantal)] . $letters[rand(0,$aantal)] . $letters[rand(0,$aantal)] . $letters[rand(0,$aantal)] . $letters[rand(0,$aantal)] . $letters[rand(0,$aantal)] . $letters[rand(0,$aantal)];
}
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
if(empty($_POST['login_name']) OR empty($_POST['email']))
{
exit("<h1>Error</h1>\n<p>U heeft niet alles ingevuld!</p>\n");
}
else
{
$username = addslashes(htmlspecialchars($_POST['login_name']));
$password = mkpass();
$email = $_POST['email'];
if(file_exists('members/' . $username . '.php'))
{
exit("<h1>Ongeldige gebruikersnaam</h1>\n<p>Gebruikersnaam bestaat al!</p>\n");
}
else
{
include('config.php');
$onderwerp = "Registration at " . $website;
$bericht = "
Welcome to " . $website . "\n\nPlease keep this email for your records. Your account information is as follows:\n\n----------------------------\nUsername: " . $username . "\nPassword: " . $password . "\n----------------------------\n\nThank you for registering.";
mail($email, $onderwerp, $bericht, "From: " . $afzender . "\nX-Mailer: PHP/" . phpversion(), "-f " . $afzender);
$handle = fopen('members/' . $username . '.php','w');
fwrite($handle, "<?\n \$password = \"" . md5($password) . "\";\n \$email = \"" . $email . "\";\n ?>");
fclose($handle);
echo "<h1>Succes</h1>\n<p>Controleer mail voor uw activatie wachtwoord!</p>\n";
}
}
}
else
{
?>
<form method="POST" action="">
<h1>Create account</h1>
<p>Username:<br><input type="text" name="login_name" maxlength="20"></p>
<p>E-mail:<br><input type="text" name="email"></p>
<p><input type="submit" name="submit" value="Register"></p>
</form>
------------------------
Alles gaat goed ook in de members map komt de nieuwe gebruiker.
Maar nieuwe gebruiker ontvangt geen mail waarin hun wachtwoord staat.
Wat doe IS ER fout.
De rest werkt allemaal goed!
VOORBEELD: WWW.EBDE.NL REGISTREREN
HOPELIJK KAN IEMAND MIJ HELPEN BEN AL MEER DAN 8 UUR BEZIG.
GR VOULA
Vind je het gek, met zo'n vage titel.
Ik heb met Jan koehoorn gekeken en ook hij kwam er niet uit?
Hopelijk een ander wel
please anders wordt het nog een lange nackt
ik ga pas slapen als het gelukt is ;)
en echo die mail(), kijken wat er inzit.
Wats vaag.
Is toch duidlijke vraag
Hahaha, dan zijn we nog wel een tijdje wakker!
Code (php)
1
2
3
2
3
<?php
mail($email, $onderwerp, $bericht, "From: " . $afzender . "\nX-Mailer: PHP/" . phpversion(), "-f " . $afzender);
?>
mail($email, $onderwerp, $bericht, "From: " . $afzender . "\nX-Mailer: PHP/" . phpversion(), "-f " . $afzender);
?>
$email etc moet toch $_POST zijn?
$email = $_POST['email'];
$onderwerp = "Registration at " . $website;
Kzie alleen niet waar $afzender staat..
En Voula hoe staan we ervoor nadat je allerlei handige tips hebt gekregen?
Stillone:
$email etc moet toch $_POST zijn?[/quote]Nee, dat hoeft niet, want een regel of 15 daarboven staat de regel "$email = $_POST['email'];" ;-)
Maar als ik heel goed kijk, vermoed ik dat er nog een spatie moet vóór de string "-f ". Nu wordt 'ie direct aan de phpversion() geplakt, en ik vermoed dat sendmail dan niet ziet dat er een parameter -f bestaat.
Code (php)
1
2
3
2
3
<?php
mail($email, $onderwerp, $bericht, "From: " . $afzender . "nX-Mailer: PHP/" . phpversion(), "-f " . $afzender);
?>
mail($email, $onderwerp, $bericht, "From: " . $afzender . "nX-Mailer: PHP/" . phpversion(), "-f " . $afzender);
?>
$email etc moet toch $_POST zijn?[/quote]Nee, dat hoeft niet, want een regel of 15 daarboven staat de regel "$email = $_POST['email'];" ;-)
Maar als ik heel goed kijk, vermoed ik dat er nog een spatie moet vóór de string "-f ". Nu wordt 'ie direct aan de phpversion() geplakt, en ik vermoed dat sendmail dan niet ziet dat er een parameter -f bestaat.
niet elke mailserver erkent the 5th parameter, probeer het eens zonder die ,'-f'.$from , kijken of je dan meer resultaat krijgt
$_POST geprobeerd.
spatie voor -f geprobeerd.
ipv -f : $from
$afzender staat toch al achter "-f " .
<?php
mail ('[email protected]', 'test', 'test', 'From: www.sitenaam.nl');
?>
Die werkt goed krijg mail binnen!!.
Vreemd, we zijn hier samen aan het zoeken maar komen er niet uit.
Misschieneen andere tip
Gr Voula