Avatar billede langkiller Nybegynder
04. februar 2011 - 00:22 Der er 7 kommentarer og
1 løsning

verify brugerens email

sidder fast med denne her verify funktion.. har prøvet en masse forskelligt.

nå, det fungerer sådan at når man opretter en bruger bliver der lavet en activationkey som bliver lagt ind i databasens tabel "users"

activationkey bliver også sendt til brugerens email i form at et link der fører hen til verify.php på siden:
verify.php?r=home&ak=140957677076066858514624362241656237652020714271

i verify har jeg lige pt. skrevet:

    $activationkey = $_GET["ak"];
    $query = mysql_query("SELECT * FROM users WHERE activationkey = '". $activationkey ."'");
   
    if (mysql_num_rows($query) = 0)
    {
    $insert = mysql_query("UPDATE `users` SET `status` = 'almost' WHERE `activationkey` ='$activationkey'");
}

er rimelig lost lige nu så håber nogen kan hjælpe ..
Avatar billede nissen2630 Novice
04. februar 2011 - 00:47 #1
Som du har skrevet nu hopper den over din UPDATE hvis brugeren trykker på det link der står i mailen.
Mener du ikke at :
if (mysql_num_rows($query) = 0)

Skal være :
if (mysql_num_rows($query) == 1)
Avatar billede langkiller Nybegynder
04. februar 2011 - 06:48 #2
det havde jeg også prøvet før.. virker desværre ikke :(
har lavet koden lidt så den nu hedder :
    $activationkey = $_GET["ak"];
    $query = mysql_query("SELECT * FROM users WHERE activationkey = '". $activationkey ."'");
   
    if (mysql_num_rows($query) == 1)
    {
    $insert = mysql_query("UPDATE `users` SET `status` = 'almost' WHERE `activationkey` ='$activationkey'");
        print "succes";
    }
    else
    { print "error : $activationkey"; }
   


den udskriver "error" men ikke activationkey, hvilket betyder at GET funktionen ikke virker korrekt eller hvad??
Avatar billede langkiller Nybegynder
04. februar 2011 - 06:51 #3
hov jo vent den udskriver både error og activationkey, så fejlen er ikke i GET
Avatar billede mediman Nybegynder
04. februar 2011 - 07:43 #4
Du kunne prøve med 'or die(mysql_error()' i din query for at se en fejlkode :

$query = mysql_query("SELECT * FROM users WHERE activationkey = '". $activationkey ."'") or die(mysql_error());

Kan der være mere end netop én activationkey i databasen?

Test det med

while($row = mysql_fetch_array( $query )){
echo $row['activationkey']."<br />";
}
Avatar billede langkiller Nybegynder
04. februar 2011 - 09:32 #5
doh! har lige fundet ud af hvad fejlen var! i havde slet ikke mulighed for at se den da den lå i databasen ...

har jo testet brugeroprettelsen en del gange hvilket har gjort at der har været en masse forskellige slags acivationkey sendt til min email.. har åbenbart fået slettet de forkerte mails så activationkeys'ne ikke passede sammen.. :P

mange tak for hjælpen ellers.. i må lige smide et svar hvis i vil have points..
Avatar billede nissen2630 Novice
04. februar 2011 - 09:37 #6
Ingen til mig :-)
Avatar billede mediman Nybegynder
04. februar 2011 - 09:42 #7
Godt du fik det til at fungere!

Send points til de små sultne børn i Afrika :-)
Avatar billede langkiller Nybegynder
04. februar 2011 - 09:48 #8
hahah okay fair nok så :) så lukker jeg spørgsmålet
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester