I am new to php, and I am trying to write a login system for my site. The way it works now is a form with a UserName and UserPass sends those values to login.php
login.php then looks at the values and checks if the user is logged in. If the user isn't already logged in via a cookie, then the user has a cookie created and gets to view some private information.
My first question: cookies are freakin confusing; why wont they work?
Second question: how can I reload the same php page and keep all the values stored in variables? When I do it now, all the values are gone when the page reloads. I want to be able to reload the same page, because I want to be able to sort a table by different columns.
here is the code for the login script (note, I am a newb and have no clue what I am doing):
<?PHP
function ViewAll() {
global $n, $LoginName, $Link, $LoggedIn;
$LoggedIn = "TRUE";
mysql_close($Link);
$Host = "localhost";
$User = "user";
$Password = "password";
$DBName = "db";
$TableName = "Registered";
$Link = mysql_connect($Host, $User, $Password);
$sql = "SELECT * FROM Registered WHERE UserPrivate='' ORDER BY 'UserLastName' LIMIT 0, 30";
$r = mysql_db_query($DBName, $sql, $Link);
print("Logged in as " . $LoginName . " | <a href=http://www.sigmanu-etazeta.com/logout.php>Logout</a>\n");
?>
<form method="POST" action="login.php">
<p style="margin-top: 0; margin-bottom: 0" align="center">Sort By:
<select size="1" name="D1">
<option selected value="Name">Name</option>
<option value="PIN">PIN#</option>
<option value="City">City</option>
</select>
<input type="hidden" value="<?PHP "$LoginName" ?>" name="LoginName">
<input type="hidden" value="<?PHP "$LoggedIn" ?>" name="LoggedIn">
<input type="hidden" value="<?PHP "$LoginPass" ?>" name="LoginPass">
<input type="submit" value="Submit" name="B1">
</p>
</form>
<?PHP
print ("<TABLE border=1 width=\"75%\" cellspacing=2 cellpadding=2 align=center>\n");
print("<TR align=center valign=top>\n");
print("<TD width=200 align=center valign=top><FONT size=2>Name</FONT></TD>\n");
print("<TD align=center valign=top><FONT size=2>PIN#</FONT></TD>\n");
print("<TD align=center valign=top><FONT size=2>Email</FONT></TD>\n");
print("<TD align=center valign=top><FONT size=2>Home #</FONT></TD>\n");
print("<TD align=center valign=top><FONT size=2>Cell #</FONT></TD>\n");
print("<TD align=center valign=top><FONT size=2>Work #</FONT></TD>\n");
print("<TD align=center valign=top><FONT size=2>Occ/Maj</FONT></TD>\n");
print("<TD align=center valign=top><FONT size=2>Addr</FONT></TD>\n");
print("<TD align=center valign=top><FONT size=2>Addr2</FONT></TD>\n");
print("<TD align=center valign=top><FONT size=2>City</FONT></TD>\n");
print("<TD align=center valign=top><FONT size=2>State</FONT></TD>\n");
print("<TD align=center valign=top><FONT size=2>Zip</FONT></TD>\n");
print("</TR>\n");
while ($Row = mysql_fetch_array($r)) {
print("<TR ALIGN=CENTER VALIGN=TOP><FONT size=1 face=Lucida Consol>\n");
if ($Row[UserPIN] == "") $Row[UserPIN] = "---";
if ($Row[UserFirstName] == "") $Row[UserFirstName] = "---";
if ($Row[UserLastName] == "") $Row[UserLastName] = "---";
if ($Row[UserEmail] == "") $Row[UserEmail] = "---";
if ($Row[UserHomePhone] == "") $Row[UserHomePhone] = "---";
if ($Row[UserCellPhone] == "") $Row[UserCellPhone] = "---";
if ($Row[UserWorkPhone] == "") $Row[UserWorkPhone] = "---";
if ($Row[UserOccupation] == "") $Row[UserOccupation] = "---";
if ($Row[UserStreetAddress] == "") $Row[UserStreetAddress] = "---";
if ($Row[UserAddress2] == "") $Row[UserAddress2] = "---";
if ($Row[UserCity] == "") $Row[UserCity] = "---";
if ($Row[UserState] == "") $Row[UserState] = "---";
if ($Row[UserZipCode] == "") $Row[UserZipCode] = "---";
print("<FONT size=1><TD ALIGN=CENTER VALIGN=TOP>$Row[UserFirstName] $Row[UserLastName]</TD>\n");
print("<TD ALIGN=CENTER VALIGN=TOP><FONT size=2>Hz$Row[UserPIN]</FONT></TD>\n");
print("<TD ALIGN=CENTER VALIGN=TOP><FONT size=2>$Row[UserEmail]</FONT></TD>\n");
print("<TD ALIGN=CENTER VALIGN=TOP><FONT size=2>$Row[UserHomePhone]</FONT></TD>\n");
print("<TD ALIGN=CENTER VALIGN=TOP><FONT size=2>$Row[UserCellPhone]</FONT></TD>\n");
print("<TD ALIGN=CENTER VALIGN=TOP><FONT size=2>$Row[UserWorkPhone]</FONT></TD>\n");
print("<TD ALIGN=CENTER VALIGN=TOP><FONT size=2>$Row[UserOccupation]</FONT></TD>\n");
print("<TD ALIGN=CENTER VALIGN=TOP><FONT size=2>$Row[UserStreetAddress]</FONT></TD>\n");
print("<TD ALIGN=CENTER VALIGN=TOP><FONT size=2>$Row[UserAddress2]</FONT></TD>\n");
print("<TD ALIGN=CENTER VALIGN=TOP><FONT size=2>$Row[UserCity]</FONT></TD>\n");
print("<TD ALIGN=CENTER VALIGN=TOP><FONT size=2>$Row[UserState]</FONT></TD>\n");
print("<TD ALIGN=CENTER VALIGN=TOP><FONT size=2>$Row[UserZipCode]</FONT></TD></FONT>\n");
print("</font></TR>\n");
}
print("</TABLE><BR><BR>\n");
}
$n = trim($HTTP_COOKIE_VARS["SigmaNu"]);
if ($n == $LoginName && $LoggedIn == "TRUE") {
print ("...");
ViewAll();
} else {
if ($LoginName == "" || $LoginPass == "") {
print ("<BR><CENTER><B>You must <a href=http://www.sigmanu-etazeta.com/registered.php>login</a>!</B></CENTER>\n");
} else {
$Host = "localhost";
$User = "user";
$Password = "password";
$DBName = "database";
$TableName = "Registered";
$Link = mysql_connect($Host, $User, $Password);
if ($Link) {
$LoginPass = trim($LoginPass);
$LoginName = trim($LoginName);
$sql = "SELECT * FROM `Registered` WHERE `UserName` = '".$LoginName."' LIMIT 0, 30";
$r = mysql_db_query($DBName, $sql, $Link);
if (mysql_affected_rows() == 0) {
print ("<BR><CENTER><B>There are no registered users with that username!</B></CENTER>\n");
$LoggedIn = "";
} else {
$sql = "SELECT * FROM `Registered` WHERE UserName = '".$LoginName."' AND UserPassword = '".$LoginPass."' LIMIT 0, 30";
$r = mysql_db_query($DBName, $sql, $Link);
if (mysql_affected_rows() == 0) {
print ("<BR><CENTER><B>Invalid password!</B></CENTER>\n");
$LoggedIn = "FALSE";
} else {
$LoggedIn = "TRUE";
setcookie('SigmaNu', $LoginName, (time()+2592000), '/', '', 0);
ViewAll();
}
}
mysql_close($Link);
}
}
}
?>