einzelne User aus DB auslesen

Jam-Mc

Mitglied
Guten Tag und einen schönen Sonntag

habe da ein problem wo ich nicht so wirklich durch blicke vielleicht könnt ihr ja da bei helfen wäre richtig net von euch

und zwar habe ich ein members bereich gebaut wo die user die möglichkeit haben sich einzuloggen und einstellungen machen können

mein problem ist wenn ich mich als user einlogge sehe ich alle Datenbank einträge anstatt nur von den Member seinen Datenbank eintrag

ich zeige euch mal den Code

PHP:
$abfrage = "SELECT * FROM radio_sg"; 
$ergebnis = mysql_query($abfrage); 

// Hier
while($row = mysql_fetch_object($ergebnis)) 
    {

da sieht der user alle einträge die vorhanden sind es sind immoment zum test 4 einträge in der DB und die kann er sehen aber er soll ja nur seinen sehen können und das blicke ich nicht durch

danke für eure hilfe
 
Hi,

probiers mal mit: $abfrage = "SELECT * FROM radio_sg WHERE ID = ".$_SESSION['UserID']."";

Du musst dann noch die Session UserID ändern, jenachdem wie sie bei dir heißt...
 
ja gute frage ich kenne mich session nicht so aus

das ist ein teil des code aus der datei

PHP:
<?php 
$seite = $_GET["seite"]; 

include_once ("../mysql.inc.php");

if(($sid = $_POST['sid']) == "") $sid = $_GET['sid'];

if(!isset($seite)) 
   { 
   $seite = 1; 
   } 



$link = mysql_connect($db_host,$db_username,$db_password) or die ("Keine Verbindung moeglich"); 
mysql_select_db($database_name) or die ("Die Datenbank existiert nicht");  


echo "<link rel='stylesheet' href='style.css' type='text/css'>";
$eintraege_pro_seite = 10; 



$start = $seite * $eintraege_pro_seite - $eintraege_pro_seite; 


$abfrage = "SELECT * FROM radio_sg WHERE ID = ".$_SESSION['radio_name'].""; 
$ergebnis = mysql_query($abfrage); 

// Hier
while($row = mysql_fetch_object($ergebnis)) 
    {

und das ist der login forgang

PHP:
<?php
session_start();
?>

<?php
if(($username = $_POST['username']) == "") $username = $_GET['username'];
if(($password = $_POST['password']) == "") $password = $_GET['password'];

if (isset($_SESSION["username"])) 
{
 echo '<script>location.href="admin.php?index&page=sucess";</script>';

}

include_once('mysql.inc.php');

$link = mysql_connect($db_host,$db_username,$db_password) or die ("Keine Verbindung moeglich"); 
mysql_select_db("$database_name") or die ("Die Datenbank existiert nicht"); 



$username = $_POST["username"];
$password =($_POST["password"]);

$abfrage = "SELECT * FROM radio_sg WHERE radio_name LIKE '".$username."' LIMIT 1";
$ergebnis = mysql_query($abfrage);
$row = mysql_fetch_object($ergebnis);
 			
if($password == $row->pass)
    {
 	
    $_SESSION["username"] = $username;
    echo '<script>location.href="admin.php?admin&page=start";</script>';
    
    }
    
else
    {
    echo "<body bgcolor='#000000'>
	<center><table border=\"4\" width=\"43%\" height=\"51\" bordercolorlight=\"#00FFFF\" bordercolordark=\"#000000\">
	<tr>
		<td><center><font color='#FFFFFF'>Username oder Password ist Falsch.<br><br>
<a href=\"admin.php\"><font color='#FFFFFF'>Einloggen</a><br><br>

<center></div></body>
<br><br>
<font size=2><font color=\"#FFFFFF\">Copyright by PSDsoft in Coop with <a href=\"http://www.streams4all.de\" target=\"_blank\">
<span style=\"text-decoration: none\"><font color=\"#FF0000\">www.streams 4 All</font></span><font></td>
	</tr>
	</table></div>

</td>
	</tr>
	</table>
";
   Exit;
 }
echo' '.$row->Blocked.' ';
?>

und der member bereich wenn man ein geloggt ist da habe ich noch ein teil code
PHP:
<?php
session_start();
?>
<body bgcolor="#000000">


<div align="center">
	<table border="1" width="43%" height="51" bordercolorlight="#00FFFF" bordercolordark="#000000">
	<tr>
<td>
<?php
if(($page = $_POST['page']) == "") $page = $_GET['page'];


$server = (isset($_POST['server'])?$_POST['server']:"");
$view_me = (isset($_POST['view_me'])?$_POST['view_me']:"");
$close_me = (isset($_POST['close_me'])?$_POST['close_me']:"");
$server_port = (isset($_POST['server_port'])?$_POST['server_port']:"");
$media_player = (isset($_POST['media_player'])?$_POST['media_player']:"");


$radio_name = (isset($_POST['radio_name'])?$_POST['radio_name']:"");
$radio_url = (isset($_POST['radio_url'])?$_POST['radio_url']:"");

if(($username = $_POST['username']) == "") $username = $_GET['username'];
if(($password = $_POST['password']) == "") $password = $_GET['password'];
if(($text = $_POST['text']) == "") $text = $_GET['text'];
if(($textnew = $_POST['textnew']) == "") $textnew = $_GET['textnew'];
if(($go = $_POST['go']) == "") $go = $_GET['go'];
if(($gonew = $_POST['gonew']) == "") $gonew = $_GET['gonew'];
if(($edit = $_POST['edit']) == "") $edit = $_GET['edit'];







include_once("mysql.inc.php");
$link = mysql_connect($db_host,$db_username,$db_password) or die ("Keine Verbindung moeglich"); 
mysql_select_db($database_name) or die ("Die Datenbank existiert nicht"); 

if ($page == 'err1') {

// Keine berechtigung
Echo '<font color="#FFFFFF">Keine Rechte!';

}

if (isset($_SESSION["username"])) {
 
Zuletzt bearbeitet:
Du hast radio_name reingeschrieben, es muss aber heißen:

PHP:
"SELECT * FROM radio_sg WHERE ID = ".$_SESSION['username']."";

Wobei ich auch nicht sicher bin ob es ID... heißt. Was steht denn in deiner URL wenn du eingeloggt bist?


Wenn ich dir noch zwei Tipps geben darf:

I. Daten die aus der Datebank geholt werden solltest du immer mit mysql_real_escape_string versehen um vor SQL-Injection zu schützen.

$username = $_GET['username'];

stattdessen:

$username = mysql_real_escape_string($_GET['username']);

II. Ich würde Passwörter immer verschlüsseln. Bei dir steht z.B.

$password = $_GET['password'];

stattdessen kannst du mit ... arbeiten:

$password = sha1(mysql_real_escape_string($_GET['password']));

sha1 ist eine verschlüsselungsmethode, alternativ kannst du auch md5 verwenden.

Mfg
Andy
 
die url sieht so aus

member/admin.php?admin&page=users&pass=d41d8cd98f00b204e9800998ecf8427e

habe ich eingetragen

PHP:
"SELECT * FROM radio_sg WHERE ID = ".$_SESSION['username']."";

geht aber trotzdem nicht
 
Kleine Ergänzung:
SHA1 und MD5 sind keine Verschlüsselungen,
sondern Hashalgorithmen (nicht wieder entschlüsselbar).

Und es ist zwar kein Fehler, aber nicht unbedingt nötig,
vor SHA1 noch mysql_real_escape_string zu benutzen.
 
Also das hier kannst du auch kürzen
PHP:
if(($sid = $_POST['sid']) == "") $sid = $_GET['sid'];
Was dieser Code macht ist einfach zu prüfen ob "sid" über POST übergeben wurde ... und falls nicht dann über GET.
Wenn es dir egal ist ob POST oder GET verwendet wird kannst du da auch das $_REQUEST - Array verwenden. Also so
PHP:
$sid=$_REQUEST['sid'];
 
Was steht denn in der Spalte "ID" der Tabelle "radio_sg" überhaupt drinnen? Hast du eine Spalte in dieser Tabelle, die auf den Benutzer zugewiesen werden kann? Kannst du mal die Tabellen-Struktur von radio_sg posten und außerdem noch

PHP:
var_dump($_SESSION);

im eingeloggten Zustand machen?
 
Code:
CREATE TABLE IF NOT EXISTS `radio_sg` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `radio_name` varchar(255) DEFAULT NULL,
  `radio_url` varchar(255) DEFAULT NULL,
  `radio_stream` varchar(255) DEFAULT NULL,
  `radio_locked` int(1) DEFAULT NULL,
  `radio_homepage` varchar(255) DEFAULT NULL,
  `radio_tele` varchar(255) DEFAULT NULL,
  `copyfree` int(11) NOT NULL DEFAULT '0',
  `winamp` int(11) NOT NULL DEFAULT '0',
  `reals` int(11) NOT NULL DEFAULT '0',
  `wmps` int(11) NOT NULL DEFAULT '0',
  `radiotele` int(11) NOT NULL DEFAULT '0',
  `hoerer` int(11) NOT NULL DEFAULT '0',
  `bitrate` int(11) NOT NULL DEFAULT '0',
  `title` int(11) NOT NULL DEFAULT '0',
  `radioname` int(11) NOT NULL DEFAULT '0',
  `server_port` varchar(255) DEFAULT NULL,
  `pass` varchar(32) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

wenn du mir jetzt noch erklärst wegen den

PHP:
var_dump($_SESSION);

da ich nicht so die arhnung habe
 
Zurück