Anfängerproblem mit row

DerGraf87

Grünschnabel
Ahoi,

ich bin nicht der Typ, der sofort in Foren rennt, wenn er Probleme hat, aber im moment dreh ich echt durch.
Bevor ich gleich den Code zu meinem Problem poste, bitte ich darum mich nicht wegen des vllt. primitiven Codes auszulachen ;)
------------------------------------------------------------------------
So, und zwar habe ich eine Seite, auf der man sich einloggt und dann u.A. die Wahl hat zwischen "Dein profil", wo das eigenes Profil angezeigt wird und "Mitgliederliste", wo alle Mitglieder aufgelistet werden mitsamt einem Link, der direkt zu deren jeweiligen Profil verweisen soll.

Erst einmal die Sache mit "Dein Profil", da funktioniert alles wunderbar:
Mit folgendem Code verweise ich darauf (username ist der eigene username, mit dem man sich angemeldet hat):
Code:
<? echo "<a href='index.php?dprofil=".$username."'>"; ?>Dein Profil</a>

In der "Dein profil" Datei heißt es dann:
Code:
<?
	$sql="SELECT * FROM phpbb_users WHERE (username like '".$_REQUEST["dprofil"]."')";
	$result=mysql_query($sql);

	if(mysql_num_rows($result) > 0){
		//Benutzerdaten in ein Array auslesen
		$data=mysql_fetch_array($result);
		//Session Variablen erstellen und deklarieren
		$_SESSION["username"]=$data["username"];
?>
<table cellpadding="5">
  <tr>
    <td span class="ueberschrift1">
	Dein Profil (<?echo $username; ?>)
    </td>
  </tr>
</table>
<? } ?>

Verweisen tue ich mit diesem SchnipseL:
Code:
		if(isset($_GET["dprofil"])){
			switch($_GET["dprofil"]){
				case $username:
					include("./content/dein_profil.php");
					break;
			}
		}
Soweit so gut, hier funktioniert alles wie gewollt
--------------------------------------------------------------------------
Nun zur Mitgliederliste, die wie folgt ausschaut (gekürzt):
Code:
 ....
<?
$sql= "SELECT username, user_email FROM phpbb_users";
	$result = mysql_query($sql) OR die(mysql_error());
	while($row = mysql_fetch_assoc($result)) {
	$row['profilname']=$row['username']
?>
  <tr style="border: 1px solid black;">
    <td>
	<? echo $row['profilname'];?>
    </td>
    <td>
	<? echo $row['user_email'];?>
    </td>
    <td>
	<? echo "<a href='index.php?profil2=".$row['profilname']."'>"; ?>Profil</a>
    </td>
  </tr>
<?
	}
?>
.....

Daraufhin folgt die profil2 Datei:
Code:
 <?
	$row['profilname']=$profilname;
	//Suchvorgang
	$sql="SELECT username FROM phpbb_users WHERE (username like '".$_REQUEST["profil2"]."')";
	$result=mysql_query($sql);

	if(mysql_num_rows($result) > 0){
		//Benutzerdaten in ein Array auslesen
		$data=mysql_fetch_array($result);
		//Session Variablen erstellen und deklarieren
		$_SESSION["profilname"]=$data["username"];
?>
test
<script language="JavaScript">
	top.location.href='index.php?profil=<? echo $profilname; ?>'
</script>
<? } ?>

Und letztendlich die normale profil datei:

Code:
<?
	$sql="SELECT * FROM phpbb_users WHERE (username like '".$_REQUEST["profil"]."')";
	$result=mysql_query($sql);

	if(mysql_num_rows($result) > 0){
		//Benutzerdaten in ein Array auslesen
		$data=mysql_fetch_array($result);
		//Session Variablen erstellen und deklarieren
		$_SESSION["username"]=$data["username"];
?>
<table cellpadding="5">
  <tr>
    <td span class="ueberschrift1">
	Profil von <?echo $username; ?>
    </td>
  </tr>
</table>
<? } ?>
-----------------------------------------
Das ganze funktrioniert jedoch nicht, nach dem Klick bei der Mitgliederliste kommt zwar der Link index.php?profil2=*Benutzername* aber es tut sich nichts weiteres....
Hoffentlich kann mir jemand helfen und sieht über mein dummes Geprogge hinweg :)

Mfg,
Tommy

PS: Bei weiteren Fragen einfach fragen ;)
 
Setze mal die Fehlermeldungssensibilität PHP höher, um etwaige unterdrückte Fehlermeldungen anzuzeigen:
PHP:
<?php

	ini_set('display_errors', 1);
	error_reporting(E_ALL);

	…

?>
 
aah, das macht die sache schon ein bisschen klarer

Wenn ich auf "Profil" im Mitgliederbereich klicke, dann kommt

Code:
Notice: Undefined variable: profilname in /www/htdocs/w00561fc/homepage/main2.php on line 19

Was ziemlich klar war, da die Variable auf dem Profilknopf "$row['profilname'] ist
Aber wie kann ich es machen, dass die Variable, wenn man draufklickt, in die session genommen wird, damit sie in der Profilanzeige verwendet werden kann? (mit versteckten formularen?!)
 
Das heist du hast in deiner Datenbank nicht das Feld "profilname" schau mal nach, ob du nicht einen Tippfehler hast.
Ansonsten gib uns bitte mal diese besagte Zeile und die Datenbank struktur!

MfG

Ecthelion
 
OK, hab das "case $profilname" in "case $username" umbenannt und bin beim altbekannten problem

Ich habe mich ja als "Tommy" eingeloggt, d.h. die $username ist mit "Tommy" belegt
und deshalb funktioniert es nur bei mir selbst in der Mitgliederliste, wenn ich auf Profil klicke, bei allen anderen kommt gar nichts

Würde es helfen, wenn ich beim einloggen die variable $username umbenenne in $loginname und fortan, wenns um mich selbst geht, immer nur diese variable benutze?

Ich wollte dem Problem aus dem Weg gehen, indem ich von vornherin versucht hab $row['username']=$row['profilname'] zu machen

Hat jmd. einen Lösungsvorschlag bevor ich den ganzen Code wieder über den Haufen werfe?
 

Neue Beiträge

Zurück