Jump to content

[SOLVED] Display indiviual user stats?


Demont

Recommended Posts

Now, I'm not sure if I am doing this right...But here's my code so far, which isn't working...If someone could, point me int he right direction?

 

<?php
session_start();
include('header.php');//Contains database connect information, session information, and any other type of information to run the dynamics of the game.

//checks cookies to make sure they are logged in 
if (isset($_SESSION['player'])) 
  {
    $player=$_SESSION['player'];
$stats="SELECT * from users where username='$player'";
    $racestat=mysql_query($race) or die("Could not get user stats");
}
print "Hello $player, you are a $race.";
?> 

Link to comment
Share on other sites

where are you gettting $race from?

change
[code]
<?php
$stats="SELECT * from users where username='$player'";
    $racestat=mysql_query($race) or die("Could not get user stats");
?>

 

to

 

<?php
$stats="SELECT * from users where username='$player'";
    $racestat=mysql_query($stats) or die("Could not get user stats");
?>

[/code]

Link to comment
Share on other sites

<?php
session_start();
include('header.php');//Contains database connect information, session information, and any other type of information to run the dynamics of the game.

//checks cookies to make sure they are logged in 
if (isset($_SESSION['player'])) {
    $player=$_SESSION['player'];
$stats="SELECT * from users where username='$player'";
    $racestat=mysql_query($race) or die("Could not get user stats");
if($racestat){
	print_r(mysql_fetch_array($racestat));
	print "Hello $player, you are a $race.";
}
}
?> 

Link to comment
Share on other sites

I think your looking for....

 

<?php

session_start();
include('header.php'); 

if (isset($_SESSION['player'])) {
 $player = $_SESSION['player'];
 $sql = "SELECT * from users where username='$player'";
 if ($result = mysql_query($sql)) {
   if (mysql_num_rows($result)) {
     $row = mysql_fetch_assoc($result);
     print "Hello $player, you are a {$row['race']}.";
   } else {
     echo "no record found matching $player";
   }
 } else {
   echo mysql_error();
 }

?>

Link to comment
Share on other sites

Well, here is my header.

 

<?php

// Connects to the database
mysql_connect("localhost", "username", "password") or die(mysql_error()); 
mysql_select_db("database") or die(mysql_error());
?>
<center>|[<a href='logout.php'>Logout</a>]|[<a href='stats.php'>Stats</a>]|

 

And not sure if it'll help, but here's my user table structure.

 

Table structure for table `users`
-- 

CREATE TABLE `users` (
 `id` int(11) NOT NULL auto_increment,
 `username` varchar(60) NOT NULL default '',
 `password` varchar(60) NOT NULL default '',
 `gender` varchar(60) NOT NULL default '',
 `race` varchar(60) NOT NULL default '',
 `class` varchar(60) NOT NULL default '',
 `hair` varchar(60) NOT NULL default '',
 `eyes` varchar(60) NOT NULL default '',
 `skin` varchar(60) NOT NULL default '',
 `email` varchar(60) NOT NULL default '',
 PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

Link to comment
Share on other sites

it is really useless to give you a code that will complete your objectives..

if you will read the link i gave you all your nested question will be answered

we can give you codes for sure but we dont know how you understand the code

 

first you dont know the problem

second you dnt have an idea on what your doing..

 

the code that thorpe and i gave should work but if you cant have it working then again read..

 

again sorry....

Link to comment
Share on other sites

I think your looking for....

 

<?php

session_start();
include('header.php'); 

if (isset($_SESSION['player'])) {
 $player = $_SESSION['player'];
 $sql = "SELECT * from users where username='$player'";
 if ($result = mysql_query($sql)) {
   if (mysql_num_rows($result)) {
     $row = mysql_fetch_assoc($result);
     print "Hello $player, you are a {$row['race']}.";
   } else {
     echo "no record found matching $player";
   }
 } else {
   echo mysql_error();
 }

?>

 

See, this gets the $row['race'] which should fix your problem.

 

Other than this, there is a problem on how your setting the sessions my friend. Show us the script where you are setting the sessions...

Link to comment
Share on other sites

try this :

<?php

session_start();
include('header.php'); 

if (isset($_SESSION['player'])) {
  $player = $_SESSION['player'];
  $sql = "SELECT * from users where username='$player'";
  if ($result = mysql_query($sql)) {
    if (mysql_num_rows($result)) {
      $row = mysql_fetch_assoc($result);
      print "Hello $player, you are a {$row['race']}.";
    } else {
      echo "no record found matching $player";
    }
  } else {
    echo "you are not player even login or register new account to be";
  }

?>

 

the output :

________________________

you are not player even login or register new account to be  ;D

 

Link to comment
Share on other sites

<?php
include('header.php');

//Checks if there is a login cookie
if(isset($_COOKIE['ID_Loria']))

//if there is, it logs you in and directes you to the members page
{ 
$username = $_COOKIE['ID_Loria']; 
$pass = $_COOKIE['Key_Loria'];
$check = mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error());
while($info = mysql_fetch_array( $check )) 
{
if ($pass != $info['password']) 
{
}
else
{
header("Location: index.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=register.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); 

//then redirect them to the members area 
header("Location: index.php"); 
} 
} 
} 
else 
{ 

// if they are not logged in 
?> 
<form action="<?php echo $_SERVER['PHP_SELF']?>" method="post"> 
<table border="0"> 
<tr><td colspan=2><h1>Login</h1></td></tr> 
<tr><td>Username:</td><td> 
<input type="text" name="username" maxlength="40"> 
</td></tr> 
<tr><td>Password:</td><td> 
<input type="password" name="pass" maxlength="50"> 
</td></tr> 
<tr><td colspan="2" align="right"> 
<input type="submit" name="submit" value="Login"> 
</td></tr> 
</table> 
</form> 
<?php 
} 

?> 

Link to comment
Share on other sites

you are checking if those cookies are stored :

 

$username = $_COOKIE['ID_Loria'];

$pass = $_COOKIE['Key_Loria'];

 

while you are storing those cookies :

 

setcookie(ID_my_site, $_POST['username'], $hour);

setcookie(Key_my_site, $_POST['pass'], $hour);

 

so you will not find it make it same

Link to comment
Share on other sites

What would you suggest I use? cookies, or seesions?

 

Depends what you want them for.

 

Also,

 

Why do you have

 

setcookie(ID_my_site, $_POST['username'], $hour); 
setcookie(Key_my_site, $_POST['pass'], $hour); 

 

Then

 


Now, I'm not sure if I am doing this right...But here's my code so far, which isn't working...If someone could, point me int he right direction?


Code:
<?php
session_start();
include('header.php');//Contains database connect information, session information, and any other type of information to run the dynamics of the game.

//checks cookies to make sure they are logged in 
if (isset($_SESSION['player'])) 
  {

 

 

Your not setting the cookies right my friend, and your not using the sessions the right way. Sessions and Cookies arent the same...

 

When you set a session, it doesnt mean it will set the cookie also.

 

Review your script, and you'll see what I mean. Read more about Sessions and Cookies.... :P

 

http://www.phpfreaks.com/tutorial_cat/23/Sessions-and-Cookies.php

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.