login  Naam:   Wachtwoord: 
Registreer je!
 Forum

ActivatieMail, maar waar zit de fout toch!?

Offline gee - 17/11/2005 00:03 (laatste wijziging 17/11/2005 00:17)
Avatar van geeNieuw lid Hallo mensen,

Ik ben een script aan het schrijven voor een ActivatieMail, hiermee bedoel ik dat als mensen zich aanmelden op een website er eerst het aangemaakte account geactiveerd moet worden. Ik heb hier lang naar gekeken maar ik kom maar niet achter de fout!!!
Ik hoop dat iemand mij hierbij kan helpen.

De foutmelding :

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /voorbeel/voorbeeldformulier.php on line 45
Helaas u kunt dit profiel niet aanmaken, er bestaat al een profiel met dezelfde username...

Het script :

  1. <?
  2.  
  3. // als het formulier nog niet ingevuld is
  4. if(!$_POST['submit'])
  5. {
  6.  
  7. // Alle gegevens zijn ingevuld. Dus kunnen de gegevens naar de database verzonden worden
  8. include("connect.php");
  9.  
  10. // Met het volgende script wordt een code gegenereerd van 10 karakters. Deze code dient als activatie code..
  11. $lengte = "10";
  12.  
  13. function make_value($lengte){
  14. $value = "";
  15. mt_srand((double) microtime() * 1000000);
  16. while (strlen($value) < $lengte){
  17. $kiezen = chr(mt_rand(0,255));
  18. if (eregi("^[a-z0-9]$", $kiezen)){
  19. $value = $value.$kiezen;
  20. }
  21. }
  22. return $value;
  23. }
  24. $value = md5(make_value($lengte));
  25.  
  26. // Dezeheader zorgt ervor dat jou gegevens beschikbaar zijn voor de persoon die een activerings email verzonden wordt
  27. $headers = "MIME-Version: 1.0\r\n";
  28. $headers .= "Content-type: text;\r\n\tcharset=\"iso-8859-1\"\r\n";
  29. $headers .= "From: \"Joop\" <joop@hotmail.com>\r\n";
  30.  
  31. // Dit is het bericht dat de persoon in zijn activerings mailtje krijgt
  32. $bericht =
  33. "Beste $voorn,
  34. Bedankt voor het aanmaken van uw profiel. Om deze te activeren dient u op onderstaande link te klikken.
  35.  
  36. http://voorbeeld.voorbeeld_profiel.php?value=$value
  37.  
  38. Met vriendelijke groet,
  39. Joop
  40.  
  41. Mocht deze email ten onrechte naar u verstuurd zijn, neem dan contact op met onze webmaster";
  42.  
  43. // Kijken of er al een profiel bestaat met dezelfde usename
  44. $result = mysql_query("SELECT inlogn FROM klant WHERE inlogn = '$inlogn'");
  45. if(mysql_num_rows($result) != "0")
  46. {
  47. echo "Helaas u kunt dit profiel niet aanmaken, er bestaat al een profiel met dezelfde username...";
  48. }
  49. else
  50. {
  51. $passw = md5($passw);
  52.  
  53. // Gegevens in de temp_profiel tabel zetten
  54. $query="INSERT INTO klantactivering (inlogn, voorn, achtern, adres, postcode, woonpl, geboorte, werkzaam, functie, email) VALUES ('$inlogn', $voorn', '$achtern', '$adres', '$postcode', '$woonpl', '$geboorte', '$werkzaam', '$functie', '$email')";
  55. mysql_query($query) or die(mysql_error());
  56. mail($email, "Activerings mail", $bericht, $headers);
  57. echo "Bedankt voor het aanmaken van u profiel,";
  58. echo "<br>";
  59. echo "Er is een activatie email naar u gestuurd. Door de daarin staande link te openen wordt u profiel geactiveerd!";
  60. }
  61. }
  62.  
  63. ?>


Ik heb ervoor gekozen om 2 databases aan te maken, één voor een tijdelijke opslag waar de eerste aanmelding in komt te staan en de tweede is ervoor nadat er op de activatielink is geklikt want dan komen de gegevens in de juiste database zodat er ingelogd kan worden.

Alvast bedankt voor jullie hulp.

Groeten,

GEE


vinTage edit, scripts tussen [ code ] tags aub...

0 antwoorden

Gesponsorde links
Er zijn nog geen reacties op dit bericht.
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.168s