Hmm I don't see any reason why that wouldn't work, unless its being included from another file... but if you are calling it directly it should work. Also you should think about formatting your code a bit, there are some excellent threads on the subject here at PHPbuilder such as->http://www.phpbuilder.com/board/showthread.php?t=10365112
Also, this is how I would indent your code to make it more legible, however it still doesn't seem to show errors, just easier to look at
<?php
// Connects to your Database
mysql_connect("---", "---", "---") or die(mysql_error());
mysql_select_db("---") or die(mysql_error());
//Checks if there is a login cookie
if(isset($_COOKIE['ID_my_site']))
{
//if there is, it logs you in and directes you to the members page
$username = $_COOKIE['ID_my_site'];
$pass = $_COOKIE['Key_my_site'];
$check = mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error());
while($info = mysql_fetch_array( $check ))
{
if ($pass != $info['password'])
{
// Why nothing in here?
}
else
{
header("Location: membershome.php");
}
}
}
//if the login form is submitted
if (isset($_POST['submit']))
{
// if form has been submitted
// makes sure they filled it in
if(!$_POST['username'] | !$_POST['pass'])
{
die('You did not fill in a required field.');
}
// checks it against the database
if (!get_magic_quotes_gpc())
{
$_POST['email'] = addslashes($_POST['email']);
}
$check = mysql_query("SELECT * FROM users WHERE username = '".$_POST['username']."'")or die(mysql_error());
//Gives error if user dosen't exist
$check2 = mysql_num_rows($check);
if ($check2 == 0)
{
die('That user does not exist in our database. <a href=newregister.php>Click Here to Register</a>');
}
while($info = mysql_fetch_array( $check ))
{
$_POST['pass'] = stripslashes($_POST['pass']);
$info['password'] = stripslashes($info['password']);
//$_POST['pass'] = md5($_POST['pass']);
//gives error if the password is wrong
if ($_POST['pass'] != $info['password'])
{
die('Incorrect password, please try again.');
}
else
{
// if login is ok then we add a cookie
$_POST['username'] = stripslashes($_POST['username']);
$hour = time() + 3600;
setcookie('ID_my_site', $_POST['username'],$hour);
setcookie('Key_my_site', $_POST['pass'],$hour);
header("Location:membershome.php");
}
}
}
?>
Again these formatting ideas are merely suggestions, but it does make it easier to spot missing braces for example.