Klein Probleempje
Ik ben bezig met een Forgot Password script, met verificatie, dit word een random string van 8 letters, en dan ge md5'd. Dat word in een database gezet:
UserID, verf, Email
Nu moet ik het zo zien te maken dat als ze de link visiten, de password word geupdate in een andere table, genaamd Login, column naam = Password.
Dit is mijn code, en hij verstuurt geen email. Verder krijg ik geen errors.
Iemand die het misschien kan oplossen?
UserID, verf, Email
Nu moet ik het zo zien te maken dat als ze de link visiten, de password word geupdate in een andere table, genaamd Login, column naam = Password.
Dit is mijn code, en hij verstuurt geen email. Verder krijg ik geen errors.
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
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
<?php
If(isset($_POST['doneverf']))
{
$select = mssql_query("SELECT UserID, verf, email FROM ".$_CONFIG['VerTable']." WHERE verf = '".$_GET['verfcode']."'");
if(mssql_num_rows($select) != 0)
{
$EmailFrom = $_CONFIG['MailFrom'];
$Subject = "Password Request - Trinity Gunz";
$pass = RandomPass();
$EmailTo = mssql_result($select, 0, 'email');
$user = mssql_result($select, 0, 'UserID');
mssql_query("UPDATE ".$_CONFIG['LoginTable']." SET Password = '".md5($pass)."' WHERE UserID = '".$user."'");
mssql_query("
DELETE
FROM ".$_CONFIG['VerTable']."
WHERE UserID = '".$user."'
");
// prepare email body text
$Body = "";
$Body .= "You requested a new password for Trinity Gunz,";
$Body .= "\n";
$Body .= "\n";
$Body .= "Your new password is:";
$Body .= "\n";
$Body .= "$pass";
$Body .= "\n";
$Body .= "\n";
$Body .= "\n";
$Body .= "- The Trinity Team";
// send email
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");
}
}
?>
If(isset($_POST['doneverf']))
{
$select = mssql_query("SELECT UserID, verf, email FROM ".$_CONFIG['VerTable']." WHERE verf = '".$_GET['verfcode']."'");
if(mssql_num_rows($select) != 0)
{
$EmailFrom = $_CONFIG['MailFrom'];
$Subject = "Password Request - Trinity Gunz";
$pass = RandomPass();
$EmailTo = mssql_result($select, 0, 'email');
$user = mssql_result($select, 0, 'UserID');
mssql_query("UPDATE ".$_CONFIG['LoginTable']." SET Password = '".md5($pass)."' WHERE UserID = '".$user."'");
mssql_query("
DELETE
FROM ".$_CONFIG['VerTable']."
WHERE UserID = '".$user."'
");
// prepare email body text
$Body = "";
$Body .= "You requested a new password for Trinity Gunz,";
$Body .= "\n";
$Body .= "\n";
$Body .= "Your new password is:";
$Body .= "\n";
$Body .= "$pass";
$Body .= "\n";
$Body .= "\n";
$Body .= "\n";
$Body .= "- The Trinity Team";
// send email
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");
}
}
?>
Iemand die het misschien kan oplossen?
Gewijzigd op 01/01/1970 01:00:00 door Stefan
Leen, ja. Deze smtp instellening zijn juist, de email script voor de link werkt perfect.
En ik gebruik liever een zelf gemaakte email systeem, dan een pre-coded class.
En ik gebruik liever een zelf gemaakte email systeem, dan een pre-coded class.
Kijken of een form gepost is doe je met $_SERVER['request_method'].
Data die van de gebruiker komt kán je niet vertrouwen (wat is de url van die site? Dan trek ik je db effe leeg zoals bij autoweek (world?) is gebeurt). Gebruik daarom mysql_real_escape_string.
Controleer of een query gelukt is.
Zoals eerder aangegeven is, gebruik swiftmailer.
Data die van de gebruiker komt kán je niet vertrouwen (wat is de url van die site? Dan trek ik je db effe leeg zoals bij autoweek (world?) is gebeurt). Gebruik daarom mysql_real_escape_string.
Controleer of een query gelukt is.
Zoals eerder aangegeven is, gebruik swiftmailer.
Karl, dit is mssql, niet mysql.
Dan nog. Moet je ook zooi in escape'en en doen.
Ik ben bezig met een eigen functie voor security.
En om 1 of andere reden werkt de 1ste select query niet, zegt dat er een invalid object naam is, wanneer deze duidelijk werkt bij een andere script.
En om 1 of andere reden werkt de 1ste select query niet, zegt dat er een invalid object naam is, wanneer deze duidelijk werkt bij een andere script.
'mod-edit:':
Slechte topictitel
Een goede topictitel beschrijft het probleem zo duidelijk mogelijk in een paar woorden. Geen hoofdletters en uitroeptekens gebruiken.
Voorbeelden van slechte topictitels zijn:
Een goede topictitel beschrijft het probleem zo duidelijk mogelijk in een paar woorden. Geen hoofdletters en uitroeptekens gebruiken.
Voorbeelden van slechte topictitels zijn:
- Help
- Probleem
- Vraag
- Error
- Script werkt niet
- Snap het niet




