falcojugger
Gebruiker
- Lid geworden
- 29 dec 2008
- Berichten
- 279
PHP:
<?php
session_start();
require_once "config.php";
// Als er werkelijk vanuit een activatiemail gelinkt wordt -> activeren
if(isset($_GET['link']))
{
$activatiecode = $_GET['link'];
$activatiecode = substr($activatiecode, 16, 32);
$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);
// Gebruiker is al geactiveerd
if($row['level'] != 0){
echo "Account is al geactiveerd.";
header('refresh:3 url=login.php');
}
// Activeren
else{
$activeer = mysql_query("UPDATE users SET level = '1' WHERE ".$row['password']." = ".$activatiecode."") or die ("Error connecting to database");
echo "Account is geactiveerd.";
header('refresh:3 url=index.php');
}
}
else
{echo "FOUT!";}
}
// Hacker poging? gewoon doorsturen
else
{
header('Location: index.php');
}
?>
Mijn resultaat van wat ik krijg te zien: FOUT!
Anders gezegd: hij vindt in mijn database niks van wat ik wil selecteren: een gebruiker met bepaalde overeenkomst, namelijk het wachtwoord.
Wat doe ik hier fout??
Ps: het moet de query zijn want ik heb het getest door $row['password'] letterlijk te kopieren vanuit mijn database...