Jump to content

Session Help, Please!


Stalingrad

Recommended Posts

Hi! I;m having major diffuculties with PHP Sessions. I created a Login and everything, and it seems to work fine, but no matter what I change, I can't get it to display the user their username when they logged in. Also; since I have interaction on my site, the activities where you require a username fill in blank for the username. I have no clue what I am doing wrong, but this did work fine yesterday, and ever since I logged out, it's not displaying the information. May somebody please give me an answer as to what I'm doing wrong? Thank You so much! If it helps any; I've included several files.

 

Login.php:

<?php

include("config.php");
if(session_is_registered("username")) {
echo "<div id=\"b\">$b</div><div id=\"n\">$nav</div><div id=\"c\"><img src=images/layout/login.jpg><br><br>Error! You are already Logged In.</div><div id=\"i\">$info</div>";
}
$submit = $_POST['submit'];
$lusername = $_POST['username'];
$lpassword = $_POST['password'];


if(!session_is_registered("username")) {

echo "<div id=\"b\">$b</div><div id=\"n\">$nav1</div></div><div id=\"i\">$info</div><div  id=\"c\"><img src=images/layout/login.jpg><br><br>";
if(!isset($submit)) { ?><html><form action="<?php echo "$PHP_SELF" ?>" method="POST">Username: <input type="text" name="username" maxlength="16"><br><br>Password: <input type="password" name="password" maxlength="16"><br><br><br><input type="submit" name="submit" value="Login"></form></html><?php
}
if(isset($submit)) {
$cq = mysql_query("SELECT username FROM users WHERE username='$lusername' AND password='$lpassword'");
$c = @mysql_num_rows($cq);
if($c == "0") { ?>
<html><font color=red>Error! Invalid Username/Password Combination.</font><br><br><form action="<?php echo "$PHP_SELF" ?>" method="POST">Username: <input type="text" name="username" maxlength="16"><br><br>Password: <input type="password" name="password" maxlength="16"><br><br><br><input type="submit" name="submit" value="Login"></form></html><?php
}
if($c == "1") {
session_register("username");
session_register("password");
echo "You are now Logged in.<br><br>Click <a href=index.php>Here</a> to Continue.";
}
}
}

?>

 

 

 

config.php:

<?php
session_start();
include("style.css");
mysql_connect("mysql4.freehostia.com", "sonben47_db", "");
mysql_select_db("sonben47_db");

$nav = "<img src=images/layout/t.jpg><br><a href=index.php>Home</a><br><img src=images/layout/d.jpg><br><a href=news.php>News</a><br><img src=images/layout/d.jpg><br><a href=map.php>Explore</a><br><img src=images/layout/d.jpg><br><a href=newrock.php>Get a New Rock</a><br><img src=images/layout/d.jpg><br><a href=bag.php>Inventory</a><br><img src=images/layout/d.jpg><br><a href=myrocks.php>My Rocks</a><br><img src=images/layout/d.jpg><br><a href=games.php>Games</a><br><img src=images/layout/d.jpg><br><a href=logout.php>Logout</a><br><br>";

$nav1 = "<img src=images/layout/t.jpg><br><a href=index.php>Home</a><br><img src=images/layout/d.jpg><br><a href=login.php>Login</a><br><img src=images/layout/d.jpg><br><a href=register.php>Register</a><br><br>";

$b = "<img src=images/layout/b.jpg>";

$username = $_SESSION['username'];

$uq = mysql_query("SELECT * FROM users WHERE username='$username'");
while($u = mysql_fetch_array($uq)) {
$sun = $u['username'];
$sar = $u['rock'];
$srp = $u['points'];
$sid = $u['userid'];
}
$info = "$_SESSION[username]<br>$sar<br>RP: $srp<br>";

?>

 

 

 

 

page.php (this is a page that will display the information, but it won't work):

<?php
session_start();

include("config.php");
if(session_is_registered("username")) {
echo "<div id=\"b\">$b</div><div id=\"n\">$nav</div><div id=\"i\">$info</div><div id=\"c\"><font size=6>Page</font><br><br></div>";
}

if(!session_is_registered("username")) {
echo "<div id=\"b\">$b</div><div id=\"n\">$nav1</div><div id=\"i\"></div><div id=\"c\">Error! Please <a href=login.php>Login</a> or <a href=register.php>Register<a> to Continue.</div>";
}
?>

 

 

Any help is appreciated, thank you!

Link to comment
Share on other sites

session_register() and session_is_registered() were depreciated long ago in php4.2 in the year 2002. Those two functions only work when register_globals are on and those two functions, along with register_globals, have been completely removed in php6. You also have this other thread on this forum which is using sessions the proper way - http://www.phpfreaks.com/forums/index.php/topic,209117.0.html

 

Your mysql_query() statement(s) have no error checking, error reporting, or error recovery logic to get your code to tell you if or why they failed and you have also put an @ in front of at least one mysql function call, suggesting that you are getting errors.

Link to comment
Share on other sites

So try to use this code below instead of session_is_registered thing as PFMaBiSmAd says it is deprecated...

 

if(!isset($_SESSION['username']) || empty($_SESSION['username']))
{
echo "Not Authenticated";
}
else
{
echo "Authenticated";
}

 

Replace all ur code with the above and check it out.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.