tom.hill Posted December 18, 2007 Share Posted December 18, 2007 Hi everyone! As im sure you will be able to tell reading this post im very new to web development and have fallen at the first hurdle! Im trying to develop a website in php/html with a mysql db (so I guess im in the right place to ask for help!) I have tried to start by creating a login page although for some reason I cannot get it to work, I think the problem lies with my code connecting to my db but hopefully one of you guys will be able to point out where im going wrong? Here’s what I have so far: (im developing and hosting locally) login.html <form name="login" method="post" action="login.php"> <table border="0" width="225" align="center"> <tr> <td width="219" bgcolor="#999999"> <p align="center"><font color="white"><span style="font-size:12pt;"><b>Login</b></span></font></p> </td> </tr> <tr> <td width="219"> <table border="0" width="220" align="center"> <tr> <td width="71"><span style="font-size:10pt;">Username:</span></td> <td width="139"><input type="text" name="username"></td> </tr> <tr> <td width="71"><span style="font-size:10pt;">Password:</span></td> <td width="139"><input type="password" name="password"></td> </tr> <tr> <td width="71"> </td> <td width="139"> <p align="right"><input type="submit" name="submit" value="Submit"></p> </td> </tr> </table> </td> </tr> <tr> <td width="219" bgcolor="#999999"><font color="white">Not Registered? </font><a href="register.html" target="_self"><font color="white">Register</font></a><font color="white"> </font><b><i><font color="white">Now!</font></i></b></td> </tr> </table> </form> login.php <?php //Database Information $dbhost = "localhost"; $dbname = "store"; $dbuser = "root"; $dbpass = "password"; //Connect to database mysql_connect ( $dbhost, $dbuser, $dbpass) or die("Could not connect: ".mysql_error()); mysql_select_db($dbname) or die(mysql_error()); session_start(); $username = $_POST[‘username’]; $password = $_POST[‘password’]; $query = “select * from users where username=’$username’ and password=’$password’”; $result = mysql_query($query); if (mysql_num_rows($result) != 1) { $error = “Bad Login”; include “login.html”; } else { $_SESSION[‘username’] = “$username”; include “memberspage.php”; } ?> memberspage.php <html> <body> <?php echo "hello"; ?> </body> </html> When I enter credentials in to login.html and click submit ie7 just shows a blank page with login.php in the address bar. This behavior is the same whether I enter credentials that have been manually entered into the users table of the store db or not. Can anyone help?? # root and password are correct credentials for my db, I can login to myadmin using these Thanks in advance. Tom Quote Link to comment Share on other sites More sharing options...
adam291086 Posted December 18, 2007 Share Posted December 18, 2007 instead of include try this <meta http-equiv="refresh" content="0;url=http://wikipedia.org" /> I am not sure if you can include files the way you want. Quote Link to comment Share on other sites More sharing options...
tom.hill Posted December 18, 2007 Author Share Posted December 18, 2007 Thanks for your quick reply; it didn’t help though I’m afraid. It still goes to a blank page (http://localhost/site/login.php in the address bar) when I press submit. I’m thinking is it possible that php is not kicking in? If so how would I go about testing that?? Quote Link to comment Share on other sites More sharing options...
tom.hill Posted December 18, 2007 Author Share Posted December 18, 2007 If I go directly to http://localhost/site/memberspage.php I get 'hello' from my code above this should prove that php is working right? argh this is driving me crazy! Quote Link to comment Share on other sites More sharing options...
adam291086 Posted December 18, 2007 Share Posted December 18, 2007 in your membership.php file try removing all the html tags and just have php Quote Link to comment Share on other sites More sharing options...
tom.hill Posted December 18, 2007 Author Share Posted December 18, 2007 no change im afraid Quote Link to comment Share on other sites More sharing options...
adam291086 Posted December 18, 2007 Share Posted December 18, 2007 chane login.php to <?php //Database Information $dbhost = "localhost"; $dbname = "store"; $dbuser = "root"; $dbpass = "password"; //Connect to database mysql_connect ( $dbhost, $dbuser, $dbpass) or die("Could not connect: ".mysql_error()); mysql_select_db($dbname) or die(mysql_error()); session_start(); $username = $_POST[‘username’]; $password = $_POST[‘password’]; $query = "select * from `users` where `username`=$username and `password`=$password"; $result = mysql_query($query); if (mysql_num_rows($result) != 1) { header('Location: login.html'); } else { $_SESSION[‘username’] = “$username”; header('Location: memberspage.php'); } ?> edited the code Quote Link to comment Share on other sites More sharing options...
tom.hill Posted December 18, 2007 Author Share Posted December 18, 2007 No change im afraid, I wonder if this helps? -- phpMyAdmin SQL Dump -- version 2.11.3 -- http://www.phpmyadmin.net -- -- Host: localhost -- Generation Time: Dec 18, 2007 at 02:16 PM -- Server version: 5.0.45 -- PHP Version: 5.2.1 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; -- -- Database: `store` -- -- -------------------------------------------------------- -- -- Table structure for table `users` -- CREATE TABLE IF NOT EXISTS `users` ( `userid` int(11) NOT NULL auto_increment, `username` varchar(25) NOT NULL, `password` char(32) NOT NULL, `isdeleted` tinyint(1) NOT NULL default '0', PRIMARY KEY (`userid`), UNIQUE KEY `username` (`username`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ; -- -- Dumping data for table `users` -- INSERT INTO `users` (`userid`, `username`, `password`, `isdeleted`) VALUES (1, 'tom', 'password', 0); Quote Link to comment Share on other sites More sharing options...
PFMaBiSmAd Posted December 18, 2007 Share Posted December 18, 2007 Blank php pages are usually the result of fatal parse or fatal runtime errors. Always check your web server log for errors. In this case you would have found - Parse error: syntax error, unexpected T_STRING in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\login.php on line 19 When learning php, developing php code, or debugging php code, always turn on full error reporting in php.ini or a .htaccess file to get php to help you. Turning on full php error reporting in your code won't help with fatal parse errors because the code never runs to turn the error reporting on. Quote Link to comment Share on other sites More sharing options...
revraz Posted December 18, 2007 Share Posted December 18, 2007 Not really sure why you are using include when it appears you really want a redirect. Quote Link to comment Share on other sites More sharing options...
tom.hill Posted December 18, 2007 Author Share Posted December 18, 2007 Hey guys I started again and managed to get it working. The problem seemed to be around this line if (mysql_num_rows($result) != 1) { expanding this worked to: $numrows = mysql_num_rows($result); if ($numrows != 1){ worked! Bizarre but anyway working now, thanks again! im sure i'll be back! 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.