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
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.";
$bericht="Beste ".$_POST['voornaam'].",/n/n";
$bericht.="Bedankt voor je registratie op onze website./n";
$bericht.="Dit zijn je inloggegevens:/n/n";
$bericht.="Username: ".$_POST['username']."/n";
$bericht.="Wachtwoord: ".$wachtwoord."/n/n";
$bericht.="U kunt u wachtwoord wijzigen nadat u bent ingelogd./n/n";
$bericht.="Met vriendelijke groet,/n/n";
$bericht.="Het siteteam!";
mail("".$_POST['email']."","Bedankt voor uw registratie!","From:Jarro<jarro_van_ginkel@hotmail.com>");
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]
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
@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
@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]
@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
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.";
$bericht="Beste ".$_POST['voornaam'].",/n/n";
$bericht.="Bedankt voor je registratie op onze website./n";
$bericht.="Dit zijn je inloggegevens:/n/n";
$bericht.="Username: ".$_POST['username']."/n";
$bericht.="Wachtwoord: ".$wachtwoord."/n/n";
$bericht.="U kunt u wachtwoord wijzigen nadat u bent ingelogd./n/n";
$bericht.="Met vriendelijke groet,/n/n";
$bericht.="Het siteteam!";
mail("".$_POST['email']."","Bedankt voor uw registratie!","From:Jarro<jarro_van_ginkel@hotmail.com>");