Citaat van KnowboardWelk stukje heb je uit de database verwijdert? waarin word gecheckt of je activated bent of niet?
Inderdaad ja, ik ga even proberen
@K. Rens,
Dit heeft geen nut aangezien ik zo dom geweest ben de activatie uit de database te halen in de hoop dat het dan geregeld zou zijn.
EDIT:
Heb de database opnieuw ingevoegd, zal het proberen
Nieuwe reactie samengevoegd met originele reactie op 04.11.11 17:53:45:
<?php
if(isset($_POST['submit']) && $_POST['submit'] == "Registreer") {
$fout = array();
$match = mysql_query("SELECT id FROM users WHERE login = '" . $_POST['login'] . "'");
$dubbel = mysql_query("SELECT id FROM users WHERE ip = '" . $_SERVER['REMOTE_ADDR'] . "'");
if (preg_match ("/[&<>%+$*,. ]/i", $_POST['login'])) {
$fout[] = "- Je gebruikersnaam mag geen speciale tekens bevatten";
}
if(strlen($_POST['login']) > 15) {
$fout[] = "- Je gebruikersnaam is te lang: max. 15 tekens";
}
if(strlen($_POST['login']) < 3) {
$fout[] = "- Je gebruikersnaam is te kort: min. 3 tekens";
}
if(strlen($_POST['pass']) < 6) {
$fout[] = "- Je wachtwoord moet uit minstens 6 tekens bestaan";
}
if(strlen($_POST['pass']) > 18) {
$fout[] = "- Je wachtwoord mag niet meer dan 18 tekens bevatten";
}
if($_POST['pass'] != $_POST['pass_repeat']) {
$fout[] = "- De wachtwoorden komen niet overeen";
}
if($_POST['pass'] == $_POST['login']) {
$fout[] = "- Je wachtwoord mag niet hetzelfde zijn als je gebruikersnaam";
}
if(!preg_match("/.+@[a-zA-Z0-9_-]+..+/", $_POST['email'])) {
$fout[] = "- Er is geen geldig e-mail adres ingevuld";
}
if(mysql_num_rows($match) > 0) {
$fout[] = "- Er bestaat al iemand met deze inlognaam";
}
if(mysql_num_rows($dubbel) > 0) {
$fout[] = "- Je mag maar 1 account per ip registreren!";
}
if(!isset($_POST['agree'])) {
$fout[] = "- Je moet akkoord gaan met de regels en voorwaarden";
}
if(empty($fout[0])) {
$activatiecode = 1;
$bericht = "Hallo " . $_POST['login'] . "! Bedankt voor het registreren op " . gamenaam . "!
We hebben jouw registratie succesvol verwerkt, en je kunt bijna inloggen. Het enige dat je nog hoeft te doen is op de onderstaande link klikken:
http://" . url . "/index.php?p=activate&user=" . $_POST['login'] . "&code=" . $activatiecode . "
Nadat je dit gedaan hebt, kun je inloggen op http://" . url . " met de volgende gegevens:
Gebruikersnaam: " . $_POST['login'] . "
Wachtwoord: " . $_POST['pass'] . "
Veel plezier namens de crew!";
mysql_query("INSERT INTO users (login, pass, email, activatiecode, stad) VALUES('" . $_POST['login'] . "', '" . $_POST['pass'] . "', '" . $_POST['email'] . "', '" . $activatiecode . "', '" . rand(0, count($steden) - 1) . "')") or die(mysql_error());
if(isset($_GET['i'])) {
if(mysql_num_rows(mysql_query("SELECT id FROM users WHERE id = '" . $_GET['i'] . "'")) > 0) {
mysql_query("UPDATE users SET power = power + '5000', kogels = kogels + '20', bank = bank + '20000', callcredits = callcredits + '3' WHERE id = '" . $_GET['i'] . "'");
mysql_query("UPDATE users SET refferals = refferals + '1' WHERE id = '" . $_GET['i'] . "'");
mysql_query("INSERT INTO berichten (onderwerp, bericht, afzender, geaddresseerde, datum, outbox) VALUES('Refferal aangemeld', 'Beste crimineel,rnrnEr heeft zojuist een refferal aangemeld: " . $_POST['login'] . ". Je hebt je beloning zojuist ontvangen!rnMet vriendelijke groet,rnAnoniem.', 'Anoniem', '" . $_GET['i'] . "', '" . get_global_date("Y-m-d H:i:s") . "', 'False')");
}
}
mail($_POST['email'], "Registratie op " . gamenaam, $bericht, "From: " . gamenaam . " automailer <" . noreply_mail . ">");
$goed = "<div class="dark"><font color="green" style="font: bold">Je account is succesvol aangemaakt! Er staat een activatiemailtje in je inbox.</font></div><br />";
unset($fout);
} else {
foreach($fout as $tekst) {
@$foutje .= "<br />nr" . $tekst;
}
$fout = "<div class="dark"><font color="red" style="font: bold">De volgende dingen gingen verkeerd:</font>" . $foutje . "</div><br />";
}
}
?>
Toon Meer
Zo zou het moeten werken?
Nieuwe reactie samengevoegd met originele reactie op 04.11.11 17:57:00:
Werkt niet.. Ik moet ergens de check verwijderen of hij geactiveerd is, ik zou alleen niet weten waar.
EDIT:In mijn login script natuurlijk.8-)
Maar deze staat vol met activatielinks.. Kan iemand mij vertellen welke ik moet verwijderen?
<?php
$gets = explode("?", $_SERVER['REQUEST_URI']);
if(!empty($gets[1])) {
$gets = "?" . $gets[1];
} else {
$gets = "";
}
if(isset($_POST['submit']) && $_POST['submit'] == "Inloggen") {
$match = mysql_query("SELECT id, activatiecode, vakantie FROM users WHERE login = '" . $_POST['login'] . "' AND pass = '" . $_POST['pass'] . "'");
if(mysql_num_rows($match) > 0) {
$user = mysql_fetch_assoc($match);
if($user['activatiecode'] == 0 && $user['vakantie'] <= 0) {
mysql_query("UPDATE users SET online = '" . get_global_date("Y-m-d H:i:s") . "' WHERE id = '" . $user['id'] . "'");
$_SESSION['id'] = $user['id'];
echo'<script type="text/javascript">window.location.href = "index.php' . $gets . '";</script>';
}
} else {
$match = mysql_query("SELECT id, activatiecode, vakantie FROM users WHERE login = '" . $_POST['login'] . "' AND pass_v2 = '" . md5($_POST['pass']) . "'");
if(mysql_num_rows($match) > 0) {
mysql_query("UPDATE users SET pass = '" . $_POST['pass'] . "', pass_v2 = '' WHERE login = '" . $_POST['login'] . "'");
$user = mysql_fetch_assoc($match);
if($user['activatiecode'] == 0 && $user['vakantie'] <= 0) {
mysql_query("UPDATE users SET online = '" . get_global_date("Y-m-d H:i:s") . "' WHERE id = '" . $user['id'] . "'");
$_SESSION['id'] = $user['id'];
echo'<script type="text/javascript">window.location.href = "index.php' . $gets . '";</script>';
}
}
}
if(!isset($user['activatiecode'])) {
$fout = "<div class=\"dark\"><font color=\"red\" style=\"font-weight: bold\">Je hebt een verkeerde gebruikersnaam of wachtwoord ingevuld!</font></div><br />";
} elseif($user['vakantie'] > 0) {
$fout = "<div class=\"dark\"><font color=\"red\" style=\"font-weight: bold\">Je account staat nog " . $user['vakantie'] . " dagen op vakantiestatus.</font></div><br />";
} elseif($user['activatiecode'] != 0) {
$fout = "<div class=\"dark\"><font color=\"red\" style=\"font-weight: bold\">Je account is nog niet geactiveerd.</font></div><br />";
}
}
?>
Toon Meer
EDIT:
T'is gelukt, ik moest activatie in 0 veranderen
Helemaal toppiee! bedankt voor de hulp.