Foser Posted June 9, 2007 Share Posted June 9, 2007 Here's my script. <?php include("config.php"); //user data $username = mysql_real_escape_string($_POST['username']); $email = mysql_real_escape_string($_POST['mail']); $password = md5($_POST['pw']); $rights = "user"; $taken = false; $q = "SELECT * FROM user_info"; $ms = mysql_query($q); while($user_info = mysql_fetch_assoc($ms)){ if ($_POST['user'] == $userinfo['username']) { $taken = true; echo "This username has already been taken.<br>";} if ($_POST['email'] == $userinfo['e-mail']){ $taken = true; echo "This E-mail has already been registered.<br>.";}} if (!$take){ $qu = "INSERT INTO user_info (username, email, password, rights) VALUES('$username', '$email', '$password', '$rights')"; mysql_query($qu) or die mysql_error(); echo "You are now registered, you may now login."; } ?> the error is on the line: $qu = "INSERT INTO user_info (username, email, password, rights) VALUES('$username', '$email', '$password', '$rights')"; I can't seem to see any error, is it possible that my data type is set incorectly for the data? Their all set to varchar. Quote Link to comment Share on other sites More sharing options...
mmarif4u Posted June 9, 2007 Share Posted June 9, 2007 What specific error u got, pls post the error. Quote Link to comment Share on other sites More sharing options...
Foser Posted June 9, 2007 Author Share Posted June 9, 2007 Parse error: syntax error, unexpected T_STRING in C:\WAMP\www\Tutorials\PHP_MYSQL\Simple_MySQL\Login\regproc.php on line 26 Thanks for responding Quote Link to comment Share on other sites More sharing options...
mmarif4u Posted June 9, 2007 Share Posted June 9, 2007 This is: if (!$take) OR: if (!$taken) Quote Link to comment Share on other sites More sharing options...
Foser Posted June 9, 2007 Author Share Posted June 9, 2007 thanks for the correction for that part but it still has the same error, so that wasin't the main cause of the problem Quote Link to comment Share on other sites More sharing options...
mmarif4u Posted June 9, 2007 Share Posted June 9, 2007 May be this will help you. while($user_info = mysql_fetch_assoc($ms)){ if ($_POST['user'] == $user_info['username']) { $taken = true; echo "This username has already been taken.<br>";} if ($_POST['email'] == $user_info['e-mail']){ $taken = true; echo "This E-mail has already been registered.<br>.";}} Quote Link to comment Share on other sites More sharing options...
Foser Posted June 9, 2007 Author Share Posted June 9, 2007 That does not work, and to me it looks exacly the same as mine... But I still copy pasted it and no it did not work. ??? Quote Link to comment Share on other sites More sharing options...
Foser Posted June 9, 2007 Author Share Posted June 9, 2007 bump Quote Link to comment Share on other sites More sharing options...
chocopi Posted June 9, 2007 Share Posted June 9, 2007 For mine i use this, yours seems abit over complicated <?php $username = mysql_real_escape_string($_POST['username']); $email = mysql_real_escape_string($_POST['email']); $check_user = mysql_query("SELECT username FROM table WHERE username='$username'"); $username_exist = mysql_num_rows($check_user); $check_email = mysql_query("SELECT email FROM table WHERE email='$email'"); $email_exist = mysql_num_rows($check_email); // form if ($username_exist > 0) { echo ("Sorry, but your username already exists. Please select another. <br />"); } if ($email_exist > 0) { echo ("Sorry, but you may only have one account per email address. <br />"); } ?> Hope that helps, ~ Chocopi Quote Link to comment Share on other sites More sharing options...
Foser Posted June 10, 2007 Author Share Posted June 10, 2007 <?php include("config.php"); //user data $username = mysql_real_escape_string($_POST['username']); $email = mysql_real_escape_string($_POST['mail']); $password = md5(sha1(md5(md5($_POST['pw'])))); $rights = "user"; // this line is line 8 $check_user2 = mysql_query("SELECT user FROM user_info WHERE user = '$username'"); $check_user = mysql_num_rows($check_user2); $check_email2 = mysql_query("SELECT email FROM user_info WHERE email = '$email'"); $check_email = mysql_num_rows($check_email2); if ($username > 0 ) { echo "This username has already been taken.<br>";} if ($email > 0 ){ echo "This E-mail has already been registered.<br>.";} else { $qu = "INSERT INTO user_info (username, email, password, rights) VALUES('$username', '$email', '$password', '$rights')"; mysql_query($qu) or die(mysql_error()); echo "You are now registered, you may now login."; } ?> My error I have now is very odd. it is at a line where no information or commands are. Parse error: syntax error, unexpected T_LOGICAL_OR in C:\WAMP\www\Tutorials\PHP_MYSQL\Simple_MySQL\Login\config.php on line 8 I amde it easy to spot on my code. Quote Link to comment Share on other sites More sharing options...
DJTim666 Posted June 10, 2007 Share Posted June 10, 2007 LMFAO. If you read that error very closly it will tell you that you have an error in your config.php file. ! So check line 8 in ur config.php file, and that will solve your error. Quote Link to comment Share on other sites More sharing options...
Foser Posted June 10, 2007 Author Share Posted June 10, 2007 aha, ok i fixed it, now i it works but get a Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\WAMP\www\Tutorials\PHP_MYSQL\Simple_MySQL\Login\regproc.php on line 10 error, What is another similar command I can use to replace it with so I dont get this error. thanks alot guys! Quote Link to comment Share on other sites More sharing options...
mmarif4u Posted June 10, 2007 Share Posted June 10, 2007 Try this instead of Mysql_num_rows use mysql_result. <?php include("config.php"); //user data $username = mysql_real_escape_string($_POST['username']); $email = mysql_real_escape_string($_POST['mail']); $password = md5(sha1(md5(md5($_POST['pw'])))); $rights = "user"; // this line is line 8 $check_user2 = mysql_query("SELECT user FROM user_info WHERE user = '$username'"); $check_user = mysql_result($check_user2); $check_email2 = mysql_query("SELECT email FROM user_info WHERE email = '$email'"); $check_email = mysql_result($check_email2); if (($check_user, 0) > 0 ) { echo "This username has already been taken.<br>";} if (($check_email,0) > 0 ){ echo "This E-mail has already been registered.<br>.";} else { $qu = "INSERT INTO user_info (username, email, password, rights) VALUES('$username', '$email', '$password', '$rights')"; mysql_query($qu) or die(mysql_error()); echo "You are now registered, you may now login."; } ?> Quote Link to comment Share on other sites More sharing options...
Foser Posted June 10, 2007 Author Share Posted June 10, 2007 Warning: Wrong parameter count for mysql_result() in C:\WAMP\www\Tutorials\PHP_MYSQL\Simple_MySQL\Login\regproc.php on line 10 Warning: Wrong parameter count for mysql_result() in C:\WAMP\www\Tutorials\PHP_MYSQL\Simple_MySQL\Login\regproc.php on line 12 You are now registered, you may now login. Same issue, maybe is it because wamp does not support these functions? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.