Re: making FORM dissapear when successful login
| From: | Jerry Kita | Date: | Thu, 06 Jan 2005 02:37:26 +0000 |
| Subject: | Re: making FORM dissapear when successful login | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-205705@lists.php.net to get a copy of this message | ||
I do exactly the same thing on my website. I use PHP's Session handling to determine if a user is actually logged on.
You can see that I check a variable called $validlogon which I set to either YES or NO at the beginning of the script
<?php
if ($validlogon == "NO") {
print "<p class=\"hnavbar\">Salkehatchie Members Login Here:<br>\n";
print "<form action=\"Salkehatchie_LoginScript.php\" method=\"POST\">\n";
print "<p class=\"login\"><small>USER ID:</small><br>\n";
print "<input type=\"text\" name=\"userid\"><br><br>\n";
print "<small>PASSWORD:</small><br>\n";
print "<input type=\"password\" name=\"password\"><br><br>\n";
print "<input type=\"submit\" value=\"Enter\"></p>\n";
print "</form>\n";
}?> Near the beginning of my script I check for the existence of a valid session <?php if (isset($_SESSION[userid])) { $validlogon = "YES"; } else { $validlogon = "NO"; } ?> Setting the $validlogon variable allows me to do a number of useful things. For example, there are certain parts of the webpage that I reveal to logged in users. Checking $validlogon allows me to decide dynamically what to render to the browser. In the following I display a message showing the user as being logged in and give them a link that logs them out. if ($validlogon == "YES") { print "<table style=\"width: 100%\";>\n"; print "<tbody>\n"; print "<tr>\n"; print "<td width=\"50%\"><p class=\"login\"><small><b>YOU ARE LOGGED
IN AS: $_SESSION[userid]</b></small></p></td>\n";
print "<td width=\"50%\"><p class=\"login\"><small><b>CLICK <a href=\"LogoutScript.php\"> here</a> TO LOGOUT</b></small></p></td>\n";
print "</tr>\n";
print "</table>\n";
}
Hope this is helpful
Jerry Kita
JHollis wrote:
I had this code working the way i wanted it to (as far as correct username and password allowing successful login)...but what i want to happen now is when a user successfully logs it it will make the login form disappear and just say successfully logged in or welcome user and a link below it so they can log off and make the form re-appear. Below is the code that i have where i tried to get it to disappear on successful login, but it stays disappeared all the time. Can someone please point out what im doing wrong. I have tried everything i can think of...and nothing works. Im a PHP newbie...so im sure some of you might get a laugh out of this...if it is real easy. <---snippet <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <link href="style.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="container"> <div id="top"> <h1>header</h1> </div> <div id="leftnav"> <p>-- Jerry Kita http://www.salkehatchiehuntersville.com email: jskita@attglobal.net<?php$username=$_POST['username']; $password=$_POST['password']; $db="user"; $server="localhost"; $db_username="root"; $db_password="*******"; $connect = mysql_connect($server,$db_username,$db_password); if (!$connect) { die ("could not connect to database"); } $select = mysql_select_db($db,$connect); if (!$select) { die ("could not select database $db"); }/*username='$username'";*/$sql = "SELECT * FROM passwords, user_info where id=PID and username='$username'"; $result = mysql_query($sql);/*$num_rows = mysql_num_rows($result);*/while ($user = mysql_fetch_array($result)) { $id = $user['id']; $username2 = $user['username']; $password2 = $user['password']; $firstname = $user['firstname']; $email = $user['email_address']; IF ($username=="$username2" && $password=="$password2") { echo("\"Welcome, <b>$firstname</b>\"");?><br><? echo ("\"Your email address is <b>$email<b>\"");?></td><tr> <a href="<?$_SERVER['PHP_SELF']?>?username=""&?password=""">Logoff</a><? break; } else { ?> <FORM action="<?$_SERVER['PHP_SELF']?>" method="post"> <INPUT type="hidden" name="id"> <table> <td><b>*</b>Username:</td> <td><INPUT class="input" size="8" type="text" name="username" value="<?echo $username?>"></td><tr> <td><b>*</b>Password:</td> <td><INPUT class="input" size="8" type="password" name="password"></td><tr> <td class="xsmall"><b>* Case Sensitive</b></td> <td><INPUT type="submit" value="Login"></td><tr> <td>  </td> </table> </FORM> <? break; } } //IF ($username != $username2 || $password != $password2) {//?><br> <? if ($username == "" && $password == "") { echo ("Please type in a Username and Password");}if ($username != "" && $password == "") { echo ("Please type in a password");}if ($username == "" && $password != "") { echo ("Please type in a username and password");} ?> </p></div> <?if (($username2==$username && $password2==$password) && ($username2!="" || $password2!="")){?> <div id="rightnav" class="box"> <p> </p> </div> <?}?> <div id="content"> <h2>Subheading</h2> <p> </p> <p> </p> </div> <div id="footer"> <p> Today is <?phpecho( date("F dS Y."));?> </p> </div> </div> </body> </html> ---->snippet