login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Activeren

Offline Lukeboy - 04/08/2006 22:38
Avatar van LukeboyNieuw lid Beste allemaal,

Ik ben bezig met een inlog script. Na dat je de registratie hebt door lopen moet je het account nog activeren. Alles werkt maar als je nu 2x activeerd per ongeluk ofzo dan moet je de melding krijgen dat het account al actief is. En als het nog niet actief is moet hij hem actief maken.
Maar ik krijg het niet werkend.

Hier is mijn code:
  1. <?php
  2. $id = $_GET['id'];
  3. $key = $_GET['key'];
  4.  
  5. if($id != "" && $key != ""){
  6. $query = mysql_query("SELECT * FROM users WHERE user_id ='" . $id . "' AND user_actcode='" . $key . "'") OR die(mysql_error());
  7. $list = mysql_fetch_object($query);
  8. if($list->user_activated != 0) {
  9. echo top("Activeren");
  10. echo error();
  11. echo "U account is al geactiveerd!<br>\n";
  12. echo "U kunt inloggen<br>\n";
  13. echo bottomerror();
  14. echo bottom();
  15. } else {
  16. if($key != $list->user_actcode OR $id != $list->user_id){
  17. echo top("Activeren");
  18. echo error();
  19. echo "Er is een probleem opgetreden!<br>\n";
  20. echo "U account kon niet worden geactiveerd.<br>\n";
  21. echo "Neem contact op met de <a href=mailto:" .$sitemail['email']." >beheerder</a> van deze site<br>\n";
  22. echo bottomerror();
  23. echo bottom();
  24. } else {
  25. mysql_query("UPDATE users SET user_activated='1' WHERE user_id='" . $id . "' AND user_actcode='" . $key . "'") OR die(mysql_error());
  26.  
  27. mysql_query("INSERT INTO msg VALUES ('','" . $cfg['wlcmtitle'] . "',NOW(),'" . $cfg['wlcmmsg'] . "','0'," . $id . ",'0','127.0.0.1')") or die(mysql_error());
  28. echo top("Activeren");
  29. echo "<br>\nU bent succesvol geactiveerd!<br>\n";
  30. echo "<br>\n";
  31. echo "U kunt nu in loggen!<br>\n<br>\n";
  32. echo bottom();
  33.  
  34. }
  35. }
  36. }
  37. ?>


Kan iemand mij hierbij helpen. :?:

4 antwoorden

Gesponsorde links
Offline Simon - 04/08/2006 22:56
Avatar van Simon PHP expert krijg je een error? wat krijg je te zien? wat werkt er, wat niet?
Offline Lukeboy - 04/08/2006 23:34
Avatar van Lukeboy Nieuw lid U account is al geactiveerd!
U kunt inloggen

Dit geeft hij altijd. en toch activeerd hij het account. En als ik dat nog een keer doe dan post hij nogmaals een msg.
Offline Stefan14 - 05/08/2006 00:06
Avatar van Stefan14 PHP gevorderde ik heb het idee dat je je if / else statements niet helemaal goed hebt opgebouwd, je hebt namelijk dit

if
else
else

waarom 2 keer else? je kunt beter het volgende doen, want ik weet wel wat je wilt bereiken.
if
elseif
else

oftwel
  1. <?php
  2. if (account al geactiveerd) //controleren op activatie
  3. //bericht weergeven
  4. elseif (codes vergelijken) //als account al geactiveerd false is, codes vergelijken
  5. //bericht weergeven
  6. else (activeren) //als if en elseif false zijn, dan de user activeren.
  7. ?>


hoop dat het zo duidelijk is, en denk eigenlijk ook dat je probleem hiermee opgelost is.
Offline Ultimatum - 05/08/2006 07:49
Avatar van Ultimatum PHP expert persoonlijk zou ik het zo doen omdat je dan ook netjes een error kan geven als de key of id niet bestaat of niet numeric is 

  1. <?php
  2. if(isset($key) && isset($id)) && is_numeric($id))
  3. {
  4. if(code niet correct is)
  5. {
  6. //error
  7. }
  8. elseif(al geactiveerd)
  9. {
  10. //error
  11. }
  12. else
  13. {
  14. //activeren
  15. }
  16. }
  17. else
  18. {
  19. //id of key ontbreekt of is niet numeric
  20. }
  21. ?>

Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.22s