falcojugger
Gebruiker
- Lid geworden
- 29 dec 2008
- Berichten
- 279
Hallo allemaal.
Ik ben momenteel met uitgebreid ledensysteem bezig.
Nou is het ook zo dat ik een activatiemail verstuur bij het registreren.
De activatielink wordt gemaakt door een vast stuk te pakken: de pagina activatie.php
met daarachter ?link=(md5hash van wachtwoord)
als resultaat komt er iets uit als: http://localhost/activate.php?link=4216455ceebbc3038bd0550c85b6a3bf
vervolgens wil ik de hash (GET-methode) vergelijken met wat tijdens de registratie is ingevoerd in de database (dezelfde hash), als deze gelijk zijn dan moet hij een waarde (het zogenaamde gebruikersniveau) een nieuwe waarde geven, zodat deze als "geactiveerd" wordt gezien.
ik gebruik hierbij het volgende script.
als ik dit script laat werken, foutmelding: undefined index password on line 16
bovendien weet ik niet of de volgende regel:
goed is. maar daar ben ik verder nog niet aan toegekomen
Ik ben momenteel met uitgebreid ledensysteem bezig.
Nou is het ook zo dat ik een activatiemail verstuur bij het registreren.
De activatielink wordt gemaakt door een vast stuk te pakken: de pagina activatie.php
met daarachter ?link=(md5hash van wachtwoord)
als resultaat komt er iets uit als: http://localhost/activate.php?link=4216455ceebbc3038bd0550c85b6a3bf
vervolgens wil ik de hash (GET-methode) vergelijken met wat tijdens de registratie is ingevoerd in de database (dezelfde hash), als deze gelijk zijn dan moet hij een waarde (het zogenaamde gebruikersniveau) een nieuwe waarde geven, zodat deze als "geactiveerd" wordt gezien.
ik gebruik hierbij het volgende script.
als ik dit script laat werken, foutmelding: undefined index password on line 16
PHP:
<?php
session_start();
require_once "config.php";
// Als er werkelijk vanuit een activatiemail gelinkt wordt -> activeren
if(isset($_GET['link']))
{
$activatiecode = $_GET['link'];
$gegevens = mysql_query("SELECT id, user, level FROM users WHERE password='".$activatiecode."'") or die ("Error connecting to database");
// Controle of het bestaat in de database
if(mysql_num_rows($gegevens) > 0) {
$row = mysql_fetch_assoc($gegevens);
// Wachtwoord controleren
if($row['password'] == $activatiecode)
{
// Gebruiker is al geactiveerd
if($row['level'] != 0){
echo "Account is al geactiveerd.";
header('refresh:3 url=login.php');
}
else{
$res = mysql_query("UPDATE level VALUE('1') WHERE ".$row['password'] == $activatiecode) or die ("Error connecting to database");
}
}
else
{
echo "Ongeldige Activatiecode.";
header('refresh:3 url=index.php');
}
}
}
// Hacker poging? gewoon doorsturen
else
{
header('Location: index.php');
}
?>
bovendien weet ik niet of de volgende regel:
Code:
$res = mysql_query("UPDATE level VALUE('1') WHERE ".$row['password'] == $activatiecode) or die ("Error connecting to database");