login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Contole met mysql werkt niet.

Offline jarro - 28/03/2005 11:34
Avatar van jarroHTML interesse Heej allemaal..

Ik ben bezig met een inlog script, en ben nu bij de registratie.php. Hij was in eerste instantie af, maar ik ontdekte dat ik geen controlle had gemaakt of de ingevoerde mail of username al in gebruik was. Dus ik heb dat er in gebouwd, maar hij geef nu de volgende error:

Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\login\register.php on line 28

Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\login\register.php on line 30
Je gegevens zijn succesvol ingevoerd!
Je kan inloggen met de volgende gegeven:
Username: Kerel
Wachtwoord: *****

Deze gegevens zijn ook naar uw emailadres verstuurd.
Warning: Failed to Receive in c:\apache\htdocs\login\register.php on line 51

Het script is het volgende, regel 28 en 30 zijn de regels waarin $uaantal en $eaantal worden gedefineerd mbv van een mysql_num_rows. Regel 51 is de regel met de mail() functie
  1. <?
  2. function activatiecode ($lengte) {
  3. $activatie = "";
  4. mt_srand ((double) microtime() * 1000000);
  5. while (strlen($activatie) < $lengte) {
  6. $kiezen = chr(mt_rand (0,255));
  7. if (eregi("^[a-zA-Z0-9]$", $kiezen)) $activatie = $activatie.$kiezen;
  8. }
  9. return ($activatie);
  10. }
  11. mysql_connect('localhost','','');
  12. mysql_select_db('jarro');
  13. if(isset($_POST['verzenden'])){
  14. $error = "";
  15. if($_POST['voornaam'] == ''){
  16. $error .= "Je voornaam is niet ingevuld<br>";
  17. }
  18. if($_POST['achternaam'] == ''){
  19. $error .= "Je achternaam is niet ingevuld<br>";
  20. }
  21. if($_POST['email'] == ''){
  22. $error .= "Je email is niet ingevuld<br>";
  23. }
  24. if($_POST['username'] == ''){
  25. $error .= "Je username is niet ingevuld<br>";
  26. }
  27. $uquery = mysql_query("SELECT * FROM leden WHERE username=".mysql_escape_string($_POST['username'])."");
  28. $uaantal = mysql_num_rows($uquery);
  29. $equery = mysql_query("SELECT * FROM leden WHERE email=".mysql_escape_string($_POST['email'])."");
  30. $eaantal = mysql_num_rows($equery);
  31. if($uaantal>=1){
  32. $error .= "Je username bestaat al, kies een andere<br>";
  33. }
  34. if($eaantal>=1){
  35. $error .= "Er is al iemand met dit email-adres<br>";
  36. }
  37. if($error == ''){
  38.  
  39. $wachtwoord = activatiecode (5);
  40. $wachtwoord1 = md5($wachtwoord);
  41. mysql_query("INSERT INTO leden (username, voornaam, achternaam, email, wachtwoord) VALUES ('".mysql_escape_string($_POST['username'])."', '".mysql_escape_string($_POST['voornaam'])."', '".mysql_escape_string($_POST['achternaam'])."', '".mysql_escape_string($_POST['email'])."', '$wachtwoord1')") or die(mysql_error());
  42. echo "Je gegevens zijn succesvol ingevoerd!<br>Je kan inloggen met de volgende gegeven:<br>Username: ".$_POST['username']."<br>Wachtwoord: ".$wachtwoord."<br><br> Deze gegevens zijn ook naar uw emailadres verstuurd.";
  43. $bericht = "Beste ".$_POST['voornaam'].",/n/n";
  44. $bericht .= "Bedankt voor je registratie op onze website./n";
  45. $bericht .= "Dit zijn je inloggegevens:/n/n";
  46. $bericht .= "Username: ".$_POST['username']."/n";
  47. $bericht .= "Wachtwoord: ".$wachtwoord."/n/n";
  48. $bericht .= "U kunt u wachtwoord wijzigen nadat u bent ingelogd./n/n";
  49. $bericht .= "Met vriendelijke groet,/n/n";
  50. $bericht .= "Het siteteam!";
  51. mail("".$_POST['email']."","Bedankt voor uw registratie!","From:Jarro<jarro_van_ginkel@hotmail.com>");
  52. }
  53. else{
  54. echo $error;
  55. }
  56. }
  57. else{
  58. ?>
  59. <form action=" <?=$_SERVER['PHP_SELF']?> " method="POST">
  60. Voornaam: <input type="text" name="voornaam"><br />
  61. Achternaam: <input type="text" name="achternaam"><br />
  62. E-mail: <input type="text" name="email"><br />
  63. Username: <input type="text" name="username"><br />
  64. <input type="submit" name="verzenden" value="verzenden">
  65. </form>
  66. <?
  67. }
  68. ?>

Ik zie egt niet wat er nu weer fout is.. ik wederom weer vanalles geprobeerd..

bij voorbaat dank

Jarro

13 antwoorden

Gesponsorde links
Offline prorsoft - 30/11/1999 00:00
Avatar van prorsoft PHP gevorderde mss zorn[code]rnfunction activatiecode ($lengte) {rn $activatie = ;rn mt_srand ((double) microtime() 1000000);rn while (strlen($activatie) $lengte) {rn $kiezen = chr(mt_rand (0,255));rn if (eregi(^[a-zA-Z0-9]$, $kiezen)) $activatie = $activatie.$kiezen;rn }rnreturn ($activatie);rn}rnmysql_connect('localhost','','');rnmysql_select_db('jarro');rnif(isset($_POST['verzenden'])){rn $error = ; rn if($_POST['voornaam'] == ''){rn $error .= Je voornaam is niet ingevuldbr;rn }rn if($_POST['achternaam'] == ''){rn $error .= Je achternaam is niet ingevuldbr;rn }rn if($_POST['email'] == ''){rn $error .= Je email is niet ingevuldbr;rn }rn if($_POST['username'] == ''){rn $error .= Je username is niet ingevuldbr;rn }rn $uquery = mysql_query(SELECT FROM 'leden' WHERE username='.$_POST['username'].');rn $uaantal = mysql_num_rows($uquery); rn $equery = mysql_query(SELECT FROM 'leden' WHERE email='.$_POST['email'].');rn $eaantal = mysql_num_rows($equery); rn if($uaantal=1){rn $error .= Je username bestaat al, kies een anderebr;rn } rn if($eaantal=1){rn $error .= Er is al iemand met dit email-adresbr;rn }rn if($error == ''){rnrn $wachtwoord = activatiecode (5);rn $wachtwoord1 = md5($wachtwoord);rn mysql_query(INSERT INTO leden (username, voornaam, achternaam, email, wachtwoord) VALUES ('.mysql_escape_string($_POST['username']).', '.mysql_escape_string($_POST['voornaam']).', '.mysql_escape_string($_POST['achternaam']).', '.mysql_escape_string($_POST['email']).', '$wachtwoord1')) or die(mysql_error()); rn echo Je gegevens zijn succesvol ingevoerd!brJe kan inloggen met de volgende gegevenbrUsername .$_POST['username'].brWachtwoord .$wachtwoord.brbr Deze gegevens zijn ook naar uw emailadres verstuurd.;rn $bericht = Beste .$_POST['voornaam'].,nn;rn $bericht .= Bedankt voor je registratie op onze website.n;rn $bericht .= Dit zijn je inloggegevensnn;rn $bericht .= Username .$_POST['username'].n;rn $bericht .= Wachtwoord .$wachtwoord.nn;rn $bericht .= U kunt u wachtwoord wijzigen nadat u bent ingelogd.nn;rn $bericht .= Met vriendelijke groet,nn;rn $bericht .= Het siteteam!;rn mail($_POST['email'].,Bedankt voor uw registratie!,FromJarrojarro_van_ginkel@hotmail.com);rn } rn else{rn echo $error;rn }rn}rnelse{rn rnform action= =$_SERVER['PHP_SELF'] method=POSTrnVoornaam input type=text name=voornaambr rnAchternaam input type=text name=achternaambr rnE-mail input type=text name=emailbr rnUsername input type=text name=usernamebr rninput type=submit name=verzenden value=verzendenrnformrnrn}rn[code]
Offline Legolas - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van Legolas Onbekend Ik denk dat ik het weetrn[code]rnfunction activatiecode ($lengte) {rn $activatie = ;rn mt_srand ((double) microtime() 1000000);rn while (strlen($activatie) $lengte) {rn $kiezen = chr(mt_rand (0,255));rn if (eregi(^[a-zA-Z0-9]$, $kiezen)) $activatie = $activatie.$kiezen;rn }rnreturn ($activatie);rn}rnmysql_connect('localhost','','');rnmysql_select_db('jarro');rnif(isset($_POST['verzenden'])){rn $error = ; rn if($_POST['voornaam'] == ''){rn $error .= Je voornaam is niet ingevuldbr;rn }rn if($_POST['achternaam'] == ''){rn $error .= Je achternaam is niet ingevuldbr;rn }rn if($_POST['email'] == ''){rn $error .= Je email is niet ingevuldbr;rn }rn if($_POST['username'] == ''){rn $error .= Je username is niet ingevuldbr;rn }rn $uaantal = mysql_query(SELECT COUNT() FROM leden WHERE username=mysql_escape_string($_POST['username']));rn $eaantal = mysql_query(SELECT COUNT() FROM leen WHERE email=mysql_escape_string($_POST['email']); rn if($uaantal=1){rn $error .= Je username bestaat al, kies een anderebr;rn } rn if($eaantal=1){rn $error .= Er is al iemand met dit email-adresbr;rn }rn if($error == ''){rnrn $wachtwoord = activatiecode (5);rn $wachtwoord1 = md5($wachtwoord);rn mysql_query(INSERT INTO leden (username, voornaam, achternaam, email, wachtwoord) VALUES ('.mysql_escape_string($_POST['username']).', '.mysql_escape_string($_POST['voornaam']).', '.mysql_escape_string($_POST['achternaam']).', '.mysql_escape_string($_POST['email']).', '$wachtwoord1')) or die(mysql_error()); rn echo Je gegevens zijn succesvol ingevoerd!brJe kan inloggen met de volgende gegevenbrUsername .$_POST['username'].brWachtwoord .$wachtwoord.brbr Deze gegevens zijn ook naar uw emailadres verstuurd.;rn $bericht = Beste .$_POST['voornaam'].,nn;rn $bericht .= Bedankt voor je registratie op onze website.n;rn $bericht .= Dit zijn je inloggegevensnn;rn $bericht .= Username .$_POST['username'].n;rn $bericht .= Wachtwoord .$wachtwoord.nn;rn $bericht .= U kunt u wachtwoord wijzigen nadat u bent ingelogd.nn;rn $bericht .= Met vriendelijke groet,nn;rn $bericht .= Het siteteam!;rn mail(.$_POST['email'].,Bedankt voor uw registratie!,FromJarrojarro_van_ginkel@hotmail.com);rn } rn else{rn echo $error;rn }rn}rnelse{rn rnform action= =$_SERVER['PHP_SELF'] method=POSTrnVoornaam input type=text name=voornaambr rnAchternaam input type=text name=achternaambr rnE-mail input type=text name=emailbr rnUsername input type=text name=usernamebr rninput type=submit name=verzenden value=verzendenrnformrnrn}rnrn[code] rnIk raad af om mysql_num_rows te gebruiken want daar krijg ik ook veeel errors mee. Maar zoiets zou ongeveer moeten werken denk ikrn@prorsoftrnWat hebbie nou eigenlijk veranderd, nix toch
Offline jarro - 30/11/1999 00:00
Avatar van jarro HTML interesse @legolas hmm tnx voor de reactieD eerst kreeg ik parse errors, maar die heb ik er uitgehaald. Maar ik kan nog steeds gewoon de zeflde gebruikersnaam kiezen als dat er al eentje van is in de database... wat doe ik nou dan fouts
Offline prorsoft - 30/11/1999 00:00
Avatar van prorsoft PHP gevorderde d'r staat 'leen' op regel 28 wat 'leden' moet zijn
Offline Legolas - 30/11/1999 00:00
Avatar van Legolas Onbekend Wat is er nu dan foutrnHet probleem is toch net opgelostrnWil je ff zeggen wat nu fout is
Offline prorsoft - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van prorsoft PHP gevorderde @Legolas VOORTAAN GOED LEZENrn[quote]Maar ik kan nog steeds gewoon de zeflde gebruikersnaam kiezen als dat er al eentje van is in de database[quote]rnrnEn zoals ik al zeirn[quote]d'r staat 'leen' op regel 28 wat 'leden' moet zijn[quote]
Offline jarro - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van jarro HTML interesse @prosoft ja ik heb dat leen al weggehaald en verandert in leden.rnrn@legolas zie prorsoft's laatste post;)rnrnMaar hij werkt nog steeds niet. ik krijg welliswaar geen fout, maar hij voegt hem wel gewoon toe in de DB... wat doe ik fout
Offline prorsoft - 28/03/2005 16:32
Avatar van prorsoft PHP gevorderde probeer dit:
  1. <?
  2. function activatiecode ($lengte) {
  3. $activatie = "";
  4. mt_srand ((double) microtime() * 1000000);
  5. while (strlen($activatie) < $lengte) {
  6. $kiezen = chr(mt_rand (0,255));
  7. if (eregi("^[a-zA-Z0-9]$", $kiezen)) $activatie = $activatie.$kiezen;
  8. }
  9. return ($activatie);
  10. }
  11. mysql_connect('localhost','','');
  12. mysql_select_db('jarro');
  13. if(isset($_POST['verzenden'])){
  14. unset($error);
  15. if($_POST['voornaam'] == ''){
  16. $error .= "Je voornaam is niet ingevuld<br>";
  17. }
  18. if($_POST['achternaam'] == ''){
  19. $error .= "Je achternaam is niet ingevuld<br>";
  20. }
  21. if($_POST['email'] == ''){
  22. $error .= "Je email is niet ingevuld<br>";
  23. }
  24. if($_POST['username'] == ''){
  25. $error .= "Je username is niet ingevuld<br>";
  26. }
  27. $uaantal = mysql_query("SELECT COUNT(*) FROM leden WHERE username=mysql_escape_string($_POST['username'])");
  28. $eaantal = mysql_query("SELECT COUNT(*) FROM leen WHERE email=mysql_escape_string($_POST['email']");
  29. if($uaantal>=1){
  30. $error .= "Je username bestaat al, kies een andere<br>";
  31. }
  32. if($eaantal>=1){
  33. $error .= "Er is al iemand met dit email-adres<br>";
  34. }
  35. if(!isset($error) && empty($error)){
  36.  
  37. $wachtwoord = activatiecode (5);
  38. $wachtwoord1 = md5($wachtwoord);
  39. mysql_query("INSERT INTO leden (username, voornaam, achternaam, email, wachtwoord) VALUES ('".mysql_escape_string($_POST['username'])."', '".mysql_escape_string($_POST['voornaam'])."', '".mysql_escape_string($_POST['achternaam'])."', '".mysql_escape_string($_POST['email'])."', '$wachtwoord1')") or die(mysql_error());
  40. echo "Je gegevens zijn succesvol ingevoerd!<br>Je kan inloggen met de volgende gegeven:<br>Username: ".$_POST['username']."<br>Wachtwoord: ".$wachtwoord."<br><br> Deze gegevens zijn ook naar uw emailadres verstuurd.";
  41. $bericht = "Beste ".$_POST['voornaam'].",/n/n";
  42. $bericht .= "Bedankt voor je registratie op onze website./n";
  43. $bericht .= "Dit zijn je inloggegevens:/n/n";
  44. $bericht .= "Username: ".$_POST['username']."/n";
  45. $bericht .= "Wachtwoord: ".$wachtwoord."/n/n";
  46. $bericht .= "U kunt u wachtwoord wijzigen nadat u bent ingelogd./n/n";
  47. $bericht .= "Met vriendelijke groet,/n/n";
  48. $bericht .= "Het siteteam!";
  49. mail("".$_POST['email']."","Bedankt voor uw registratie!","From:Jarro<jarro_van_ginkel@hotmail.com>");
  50. }
  51. else{
  52. echo $error;
  53. }
  54. }
  55. else{
  56. ?>
  57. <form action=" <?=$_SERVER['PHP_SELF']?> " method="POST">
  58. Voornaam: <input type="text" name="voornaam"><br />
  59. Achternaam: <input type="text" name="achternaam"><br />
  60. E-mail: <input type="text" name="email"><br />
  61. Username: <input type="text" name="username"><br />
  62. <input type="submit" name="verzenden" value="verzenden">
  63. </form>
  64. <?
  65. }
  66. ?>


stuurtie eigenlijk wel een mailtje?
Offline jarro - 28/03/2005 17:40
Avatar van jarro HTML interesse ok dat zijn heel veel tips:D bedankt, ik ga ze ff uitwerken:)

@prorsoft: neej hij stuurt ook nog eens geen mail:(
Offline jarro - 28/03/2005 17:51
Avatar van jarro HTML interesse oke hij mailt nog steeds niet en ik heb mijn code aangepast (dat ie ook een bericht meestuurt;-))

  1. <?
  2. $bericht = "Beste ".$_POST['voornaam'].",\n\n";
  3. $bericht .= "Bedankt voor je registratie op onze website.\n";
  4. $bericht .= "Dit zijn je inloggegevens:\n\n";
  5. $bericht .= "Username: ".$_POST['username']."\n";
  6. $bericht .= "Wachtwoord: ".$wachtwoord."\n\n";
  7. $bericht .= "U kunt u wachtwoord wijzigen nadat u bent ingelogd.\n\n";
  8. $bericht .= "Met vriendelijke groet,\n\n";
  9. $bericht .= "Het siteteam!";
  10. mail($_POST['email'],"Bedankt voor uw registratie!",$bericht,"From:Jarro<jarro_van_ginkel@hotmail.com>");
  11. ?>


MVG en nog bedankt vor alle reacties..

PS. Kan het eraan liggen dat ik mijn apace thuis draai?
Offline prorsoft - 28/03/2005 18:14
Avatar van prorsoft PHP gevorderde humm, bij mij doet ie mail verzenden ook niet als ik een bericht met meerdere regels heb,
Offline jarro - 28/03/2005 19:12
Avatar van jarro HTML interesse hmm ik heb gewoon van bericht het bovenste regeltje gemaakt, maar dat doet hij ook niet:S
Offline jarro - 28/03/2005 19:46
Avatar van jarro HTML interesse Oke ik heb het op gelost. ik zal ff uitlegggen hoe ik dat heb gedaan voor de geïntreseerden:

Google: free smtp server

Download de eerste beste die je tegenkomt.

Zet norton uit, of iets anders belemmerends;)

En dan doet hij het, als je in php.ini SMTP=localhost instelt:)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.415s