Door
Tim Bakker
op 15-01-2005 12:40
gewijzigd op 21-02-2005 17:20
2.335 views
ik heb een site waarbij je je moet registreren.
in de signup.php zit een functie waarmee je een email verstuurd met een activatiecode.
dus, nmakkelijker gezegd: als je je registreert krijg je een activeringsmail.
ditwil ik eruit hebben maar dat krijg ik nietvoormekaar.
ik wil daty je gewoon na aanmeldenin 1 keer kan inloggen. wie kan mij hier bij helpen?
alsje mij ff toevoegt bij msn kunnen we er denk ik beter overpraten:
***SPAMBOT FOOD ;)***
?
Onbekende gebruiker
27-01-2005 18:27
ik heb het zelfde probleem met het signup script,... als je je aanmeld ontvang je een mailtje en als je op die code klikt ,.... dan kan hij de pagina niet vinden!!
en als je je dan gewoon inlog ,.. dat werkt ook niet er staat dan deze acount is nog niet geactiveerd en als ik gewon een andere naam en wachtwoord in typ zegd die dat de inlognaam enzo fout is , is logisch maar hoe krijg ik dit eruit want het werkt namelijk niet!!
if(isset($_POST['submit'])) {
$message = Array(
"Je login mag alleen A-Z, a-z, 0-9, _ en - hebben",
"De wachtwoorden die je gaf zijn niet identiek",
"Vul een geldig e-mail adres in",
"Selecteer een type crimineel",
"Er bestaat al iemand met die login",
"Er is al iemand met die e-mail");
if($data = mysql_fetch_object($dbres)) {
mysql_query("UPDATE `[users]` SET `activated`=1,`signup`=NOW() WHERE `login`='{$data->login}'");
mysql_query("DELETE FROM `[temp]` WHERE `id`='$id'");
print " <tr><td class=\"mainTxt\">Activatie voltooid, je kunt nu inloggen</td></tr>\n";
$id = $_GET['id'];
$code = $_GET['code'];
$dbres = mysql_query("SELECT `login` FROM `[temp]` WHERE `area`='signup' AND `id`='$id' AND `code`='$code'");
if($data = mysql_fetch_object($dbres)) {
mysql_query("UPDATE `[users]` SET `activated`=1,`signup`=NOW() WHERE `login`='{$data->login}'");
mysql_query("DELETE FROM `[temp]` WHERE `id`='$id'");
print " <tr><td class=\"mainTxt\">Activatie voltooid, je kunt nu inloggen</td></tr>\n";
}
else
print " <tr><td class=\"mainTxt\">Incorrecte activatie-code...</td></tr>\n";
}
else {
if($msgnum != -1) {
print " <tr><td class=\"subTitle\"><b>Aanmelden</b></td></tr>\n";
if(isset($msgnum) && $msgnum != -1)
print " <tr><td class=\"mainTxt\">\n {$message[$msgnum]}\n </td></tr>\n";
jullie zijn van die beginners die met iets grots willen beginnen
tip: begin met iets simpels daar leer je veel van
dan ga je bijv. criminals verbeteren
(ik ws ook zo dom maar ik ben er heel snel mee gekapt) ;)
?
Onbekende gebruiker
31-01-2005 17:02
:) Ik heb wel verstand van PHP, maar niet zo heel veel dat ik alle bugs eruit kan halen. Kan een van jullie mij misschien helpen? Of een link geven waar een uitleg is?
bestudeer het script heel goed dan zie vast wel wat fouten
?
Onbekende gebruiker
31-01-2005 17:42
het zit hierin, ik weet het bijna zeker.
if($data = mysql_fetch_object($dbres)) {
mysql_query("UPDATE `[users]` SET `activated`=1,`signup`=NOW() WHERE `login`='{$data->login}'");
mysql_query("DELETE FROM `[temp]` WHERE `id`='$id'");
print " <tr><td class=\"mainTxt\">Activatie voltooid, je kunt nu inloggen</td></tr>\n";
}
}
}
/* ------------------------- */ ?>
weet je het zelf niet?
?
Onbekende gebruiker
31-01-2005 17:49
sTeFaN schreef op 31.01.2005 17:42
het zit hierin, ik weet het bijna zeker.
if($data = mysql_fetch_object($dbres)) {
mysql_query("UPDATE `[users]` SET `activated`=1,`signup`=NOW() WHERE `login`='{$data->login}'");
mysql_query("DELETE FROM `[temp]` WHERE `id`='$id'");
print " <tr><td class=\"mainTxt\">Activatie voltooid, je kunt nu inloggen</td></tr>\n";
if($data = mysql_fetch_object($dbres)) {
mysql_query("UPDATE `[users]` SET `activated`=1,`signup`=NOW() WHERE `login`='{$data->login}'");
mysql_query("DELETE FROM `[temp]` WHERE `id`='$id'");
print " <tr><td class=\"mainTxt\">Activatie voltooid, je kunt nu inloggen</td></tr>\n";
}
}
}
/* ------------------------- */ ?>
weet je het zelf niet?
hier zit het wel in
hoe kan je nouw ooit activeren als je neit ingelogd bent??
if($data = mysql_fetch_object($dbres)) {
mysql_query("UPDATE `[users]` SET `activated`=1,`signup`=NOW() WHERE `login`='{$data->login}'");
mysql_query("DELETE FROM `[temp]` WHERE `id`='$id'");
print " <tr><td class=\"mainTxt\">Activatie voltooid, je kunt nu inloggen</td></tr>\n";
edit: de data is de if maar oke
welke $dbres is het??
als je nog nie zow goed bent in php kan je beter in delen scripten, bijv een forum: maak <? if($_POST["submit"]) { } else { //form } ?> en uploaden. Als dat werkt, ga je een stapje verder. dan ga je kijken of je alle gegevens gewoon goed uit de form kan halen (echo) en uploaden en kijken of het werkt... zow een beetje uploaden, testen, debuggen en dan kom je er wel...
?
Onbekende gebruiker
01-02-2005 20:06
Zat niet in de php zal best kunnen, maar het zat gewoon in de database.
Net als rafael zei over activated moet 1 zijn, was niet in de php script maar moest in de database. Heb het zelf al opgelost