registratie bevestigen
ik heb iets gemaakt waarmee mensen hun gegevens kunnen registreren en dan krijgen ze ter bevestiging een mailtje. Maar ..
Ik wil dat zei hun registratie bevestigen door op een linkje in dat mailtje te klikken. Kunnen ze dan op 1 || andere manier hun gegevens meesturen of moet er dan voor iedere registratie een aparte bevestigingspagina gegenereerd worden ofzo?
Hoe werkt dat dan?
dat bevestigingslinkje, doe dat zo:
http://www.url.com/submitmail.php?mail=email@domain.com&code=uniekegegenereerdecode
Die code kan je bijvoorbeeld met een code generator maken. Sla in je database de code+ mail op en vergelijk deze wanneer iemand deze pagina bezoekt.
codegeneator unieke code? dat weet ik niet wat da is hoor.
Daarna roep je de function aan doormiddel van een veriable waar je dus de function aan koppeld..
En dan gooi je dat in de database.. Maar maak eerst een veld actief aan of hoe je hem ook wilt noemen. en die geef je standaard value 0. Daarna maak je nog een veld reg_code aan. En dan schrijf je die variable $member_code erin. En dan maak je zoiets als dit
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
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
<?php
// aanroepen of pagina is aangeroepen met een registratiecode op adresbalk
if(!isset($_GET['code'])){
// melding geven dat ze nog niet geactiveerd zijn!
$bericht = "<h2>Bedankt voor uw aanmelding</h2>";
$bericht .= "Uw account is nog niet geactiveerd. ";
$bericht .= "Controleer uw e-mail voor een bericht met de bevestigingscode.";
}
else {
// pagina is aangeroepen met de code, deze member activeren
$member_code = $_GET['code'];
$member_email = $_GET['user'];
// database openen
$query = "SELECT * FROM members WHERE email='$member_email'";
$result_all = mysql_query($query);
if(mysql_num_rows($result_all) > 0){
// match gevonden, voor deze member record activeren
$query_update_member = "UPDATE members SET actief='1' WHERE reg_code='$member_code'";
$result_update = mysql_query($query_update_member);
// bericht opstellen voor weergave op de pagina
$bericht = "<h2>Registratie succesvol!</h2>";
$bericht .= "Uw account is nu geactiveerd. U kunt nu inloggen met uw e-mailadres en wachtwoord";
}
else {
// geen match gevonden
$bericht = "<h2>Fout: Registratiecode of e-mailadres niet gevonden</h2>";
$bericht = "<a href=\"register.php\">Voer een nieuwe registratie uit</a>";
}
}
?>
<html>
<head>
<title>uw registratie bevestigen</title>
</head>
<body>
<h2> Uw registratie bevestigen</h2>
<?php echo $bericht ;?>
<ul>
<li><a href="index.php">Terug naar homepage</a></li>
<li><a href="login.php">Inloggen</a></li>
</ul>
</form>
</body>
</html>
// aanroepen of pagina is aangeroepen met een registratiecode op adresbalk
if(!isset($_GET['code'])){
// melding geven dat ze nog niet geactiveerd zijn!
$bericht = "<h2>Bedankt voor uw aanmelding</h2>";
$bericht .= "Uw account is nog niet geactiveerd. ";
$bericht .= "Controleer uw e-mail voor een bericht met de bevestigingscode.";
}
else {
// pagina is aangeroepen met de code, deze member activeren
$member_code = $_GET['code'];
$member_email = $_GET['user'];
// database openen
$query = "SELECT * FROM members WHERE email='$member_email'";
$result_all = mysql_query($query);
if(mysql_num_rows($result_all) > 0){
// match gevonden, voor deze member record activeren
$query_update_member = "UPDATE members SET actief='1' WHERE reg_code='$member_code'";
$result_update = mysql_query($query_update_member);
// bericht opstellen voor weergave op de pagina
$bericht = "<h2>Registratie succesvol!</h2>";
$bericht .= "Uw account is nu geactiveerd. U kunt nu inloggen met uw e-mailadres en wachtwoord";
}
else {
// geen match gevonden
$bericht = "<h2>Fout: Registratiecode of e-mailadres niet gevonden</h2>";
$bericht = "<a href=\"register.php\">Voer een nieuwe registratie uit</a>";
}
}
?>
<html>
<head>
<title>uw registratie bevestigen</title>
</head>
<body>
<h2> Uw registratie bevestigen</h2>
<?php echo $bericht ;?>
<ul>
<li><a href="index.php">Terug naar homepage</a></li>
<li><a href="login.php">Inloggen</a></li>
</ul>
</form>
</body>
</html>
repelsteeltje schreef op 29.09.2009 18:48:
Oke, ik heb nu de gebruikersnaam achter die URL geplakt maar hoe kan ik dan die URL weer terug pakken en de gebruikersnaam er uithalen?
codegeneator unieke code? dat weet ik niet wat da is hoor.
codegeneator unieke code? dat weet ik niet wat da is hoor.
Basis PHP
als je een url hebt als www.site.nl/?naam=iemand&leeftijd=76
kan je dat zo uitlezen:
En dat doe je dus ook met die activeringslink.
Gewijzigd op 01/01/1970 01:00:00 door Michael -
als je hier by de tutorials kijkt staat daar ergens ook een tutorial voor een activatiegedoe....
't zou helemaal mooi zijn als er nog iemand kan uitleggen waarom ik die unieke code nodig heb. De gebruikersnaam is immers al uniek.
Klopt, maar zo kan je niet het e-mail adres controleren. Door die unieke code, moeten ze de e-mail wel hebben ontvangen.
Vandaar ook de bevestiging, die is gewoon niet te omzeilen. Je moet de mail hebben ontvangen om te kunnen bevestigen.
Oh ja .. echt een beveiliging tegen slimmerikken zoals jullie dus hihihi
thanx champ!