Jump to content

Retrieve only that user datas


saran.tvmalai

Recommended Posts

Dear All,

 

I have login script already. i have two database one is users and another one is reference  in both user_name is common. In this if a user login and search the refid means that user datas onle possible to retrieve. for others datas they cant access. i wrote the below code but it display all user datas. kindly help me

 

 

<?php
session_start();

if (!$_SESSION["user_name"])
        {
        // User not logged in, redirect to login page
        Header("Location: login.php");
  /     }

// Member only content
// ...
$con = mysql_connect('localhost','root','');
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("login", $con);


$user_name = $_POST['user_name'];


$query = "select * from reference,users where  reference.user_name=users.user_name and reference.refid='$refid'";
$result = mysql_query($query) or trigger_error('MySQL encountered a problem<br />Error: '  . mysql_error() . '<br />Query: ' . $query);


while($row = mysql_fetch_array($result))
  {
  echo $row['refid'];
  echo $row['origin'];
  echo $row['dest'];
  echo $row['date'];
  echo $row['exdate'];
  echo $row['user_name'];
  }


echo "<p><a href=\"logout.php\">Click here to logout!</a></p>";
?>

 

<html>

<form method="post" action="final.php">

Ref Id:<input type="text" name="refid">

<input type="submit" value="submit" name="submit">

</html>

 

 

Link to comment
Share on other sites

You call for a variable named $refid in your query, yet this variable doesn't exist before the query is executed, thus the variable's value will be empty, making your query look like this:

 

SELECT * FROM reference.users WHERE reference.user_name = users.user_name AND reference.refid = ''

 

I would also recommend that you capitilize the keywords in your query, like SELECT, FROM, WHERE, and AND.  If makes t easier to read.

 

Anyway, so right now you're selecting everything from the reference.users table where reference.user_name is equal to users.user_name and where the reference.refid is empty.  Unless I'm missing something.  I think the problem is here:

 

WHERE reference.user_name = users.user_name

 

You're telling it to select everything from the reference users table where the names are the same, which you said they were.  You collect the POST variable user_name, why not use that in your query?

 

$user_name = $_POST['user_name'];
$refid = $_POST['refid'];

$query = "SELECT * FROM reference.users WHERE reference.user_name = '".$user_name."' AND reference.refid = '".$refid."'";

 

Without more background into what exactly you're doing (I'm having difficulties understanding your description,) I can't help much more.

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.