The-Last-Escape Posted May 1, 2007 Share Posted May 1, 2007 Hi I get the following error when i load my login page. Fatal error: Call to a member function query() on a non-object on line 35 Below is the code: <?php // database connect script. require 'dbconnect.php'; if($logged_in == 1) { die('You are already logged in, '.$_SESSION['username'].'.'); } ?> <html> <head> <title>Login</title> </head> <body> <?php if (isset($_POST['submit'])) { // if form has been submitted /* check they filled in what they were supposed to and authenticate */ if(!$_POST['username'] | !$_POST['s_password']) { die('You did not fill in a required field.'); } // authenticate. if (!get_magic_quotes_gpc()) { $_POST['username'] = addslashes($_POST['username']); } $check = $db_object->query("SELECT username, password FROM student WHERE username = '".$_POST['username']."'"); if (DB::isError($check)) { die('That username does not exist in our database.'); } $info = $check->fetchRow(); // check passwords match $_POST['s_password'] = stripslashes($_POST['s_password']); $info['password'] = stripslashes($info['password']); $_POST['s_password'] = md5($_POST['s_password']); if ($_POST['s_password'] != $info['password']) { die('Incorrect password, please try again.'); } // if we get here username and password are correct, //register session variables and set last login time. $_POST['uname'] = stripslashes($_POST['uname']); $_SESSION['username'] = $_POST['username']; $_SESSION['password'] = $_POST['s_password']; $db_object->disconnect(); ?> <h1>Logged in</h1> <p>Welcome back <?php echo $_SESSION['username']; ?>, you are logged in.</p> <center><h3>Relations</ h3></center> <center><h3>Please Click relations to access the database relations index.</center></h3> -------------------------------------------------------------------------------- <?php } else { // if form hasnt been submitted ?> <h1>Login</h1> <form action="<?php echo $_SERVER['PHP_SELF']?>" method="post"> <table align="center" border="1" cellspacing="0" cellpadding="3"> <tr><td>Username:</td><td> <input type="text" name="username" maxlength="40"> </td></tr> <tr><td>Password:</td><td> <input type="password" name="s_password" maxlength="50"> </td></tr> <tr><td colspan="2" align="right"> <input type="submit" name="submit" value="Login"> </td></tr> </table> </form> <?php } ?> </body> </html> Any help would be much appreciated. Quote Link to comment https://forums.phpfreaks.com/topic/49527-login/ Share on other sites More sharing options...
clown[NOR] Posted May 1, 2007 Share Posted May 1, 2007 first of all.. i think you should use require('filename'); and what's on line 35? Quote Link to comment https://forums.phpfreaks.com/topic/49527-login/#findComment-242755 Share on other sites More sharing options...
RitchieGunz Posted May 1, 2007 Share Posted May 1, 2007 $check = $db_object->query("SELECT username, password FROM student WHERE username = '".$_POST Thats line 35. Could it be the -> before the query? Sorry for intruding, but Im trying to learn myself Quote Link to comment https://forums.phpfreaks.com/topic/49527-login/#findComment-242762 Share on other sites More sharing options...
The-Last-Escape Posted May 1, 2007 Author Share Posted May 1, 2007 Cheers Quote Link to comment https://forums.phpfreaks.com/topic/49527-login/#findComment-242855 Share on other sites More sharing options...
trq Posted May 1, 2007 Share Posted May 1, 2007 Where do you define $db_object? Quote Link to comment https://forums.phpfreaks.com/topic/49527-login/#findComment-242925 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.