the_infamous_don Posted March 17, 2007 Share Posted March 17, 2007 Hello. Can someone please help with this code? I am trying to first create a new user, register them and then for them to login again. The code seems right in my eyes, but it does not allow me to register a new user. Help? Let me just add that I believe the error points to line 21, which is this line: return (mysql_numrows($result) > 0); But, I dont see the problem. It says that this line is not a valid SQL statement. Heres the code: ?php session_start(); $location = "ftemysql";$accountname = "ku12881"; $pword = "carstairs";$database = "ku12881"; $conn=mysql_connect("$location","$accountname","$pword"); mysql_select_db($database,$conn); mysql_query("CREATE TABLE users (username VARCHAR(10),password VARCHAR(10))"); /** * Returns true if the username has been taken * by another user, false otherwise. */ function usernameTaken($username){ global $conn; if(!get_magic_quotes_gpc()){ $username = addslashes($username); } $q = "select username from users where username = '$username'"; $result = mysql_query($q,$conn); return (mysql_numrows($result) > 0); } /** * Inserts the given (username, password) pair * into the database. Returns true on success, * false otherwise. */ function addNewUser($username, $password){ global $conn; $q = "INSERT INTO users VALUES ('$username', '$password')"; return mysql_query($q,$conn); } /** * Displays the appropriate message to the user * after the registration attempt. It displays a * success or failure status depending on a * session variable set during registration. */ function displayStatus(){ $uname = $_SESSION['reguname']; if($_SESSION['regresult']){ ?> <h1>Registered!</h1> <p>Thank you <? echo $uname; ?>, your information has been added to the database, you may now <a href="main.php" title="Login">log in[/url].</p> <? } else{ ?> <h1>Registration Failed</h1> <p>We're sorry, but an error has occurred and your registration for the username <? echo $uname; ?>, could not be completed. Please try again at a later time.</p> <? } unset($_SESSION['reguname']); unset($_SESSION['registered']); unset($_SESSION['regresult']); } if(isset($_SESSION['registered'])){ /** * This is the page that will be displayed after the * registration has been attempted. */ ?> <html> <title>Registration Page</title> <body> <? displayStatus(); ?> </body> </html> <? return; } /** * Determines whether or not to show to sign-up form * based on whether the form has been submitted, if it * has, check the database for consistency and create * the new account. */ if(isset($_POST['subjoin'])){ /* Make sure all fields were entered */ if(!$_POST['user'] || !$_POST['pass']){ die('You didn\'t fill in a required field.'); } /* Spruce up username, check length */ $_POST['user'] = trim($_POST['user']); if(strlen($_POST['user']) > 30){ die("Sorry, the username is longer than 30 characters, please shorten it."); } /* Check if username is already in use */ if(usernameTaken($_POST['user'])){ $use = $_POST['user']; die("Sorry, the username: <strong>$use</strong> is already taken, please pick another one."); } /* Add the new account to the database */ $md5pass = md5($_POST['pass']); $_SESSION['reguname'] = $_POST['user']; $_SESSION['regresult'] = addNewUser($_POST['user'], $md5pass); $_SESSION['registered'] = true; echo "<meta http-equiv=\"Refresh\" content=\"0;url=$HTTP_SERVER_VARS[php_SELF]\">"; return; } else{ /** * This is the page with the sign-up form, the names * of the input fields are important and should not * be changed. */ ?> <html> <title>Registration Page</title> <body> <h1>Register</h1> <form action="<? echo $HTTP_SERVER_VARS['PHP_SELF']; ?>" method="post"> <table align="left" border="0" cellspacing="0" cellpadding="3"> <tr><td>Username:</td><td><input type="text" name="user" maxlength="30"></td></tr> <tr><td>Password:</td><td><input type="password" name="pass" maxlength="30"></td></tr> <tr><td colspan="2" align="right"><input type="submit" name="subjoin" value="Join!"></td></tr> </table> </form> </body> </html> <? } ?> Link to comment https://forums.phpfreaks.com/topic/43180-i-think-its-an-sql-problem-please-help-again/ Share on other sites More sharing options...
suzzane2020 Posted March 18, 2007 Share Posted March 18, 2007 its mysql_num_rows Link to comment https://forums.phpfreaks.com/topic/43180-i-think-its-an-sql-problem-please-help-again/#findComment-209662 Share on other sites More sharing options...
Barand Posted March 18, 2007 Share Posted March 18, 2007 change $q = "select username from users where username = '$username'"; $result = mysql_query($q,$conn); to $q = "select username from users where username = '$username'"; $result = mysql_query($q,$conn) or die(mysql_error()); and see if it gives an error message Link to comment https://forums.phpfreaks.com/topic/43180-i-think-its-an-sql-problem-please-help-again/#findComment-209690 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.